Finish disentangling Windows and Unix logic #2424
Labels
enhancement
O-bsd
*BSD related
O-linux
Linux related
O-macos
Mac OS related
O-windows
Windows related
Milestone
After #2342 there's still a few instances of the platform-specific code being entangled between the two OS platforms.
In some cases this is because of usage of
cfg!(expr)
which works very differently than#[cfg(attr)]
. This causes useless object code to be compiled on Windows that cannot be properly tested and evaluated and in any case probably fails to even compile due to being dependent on some hidden platform-targeted code. There might also be other increases in compilation times as a result of poor separation of logic. So, ideally, the Windows and Unix logic would be cleanly separated, or at least enough so that neither platform compiles useless, impossible to test, and possibly-erroneous codepaths on the other.I likely will follow up on this myself but I'm filing this issue for self-reference, because several instances of editing code that was supposed to only affect Unix platforms and then mysteriously breaking Windows in CI (and not because I broke generally-applicable code) was a notable part of my experience with #2387.
Tasks
Option::unwrap()
on aNone
value" #3936The text was updated successfully, but these errors were encountered: