Uh oh!
There was an error while loading. Please reload this page.
Extract sys::args::Args implementation to sys_common - #84503
Conversation
rust-highfive
commented
Apr 24, 2021
(rust-highfive has picked a reviewer for you, use r? to override) |
This comment has been minimized.
This comment has been minimized.
Edit: this has been resolved by relying on |
This comment has been minimized.
This comment has been minimized.
bors
commented
Apr 24, 2021
☔ The latest upstream changes (presumably #84525) made this pull request unmergeable. Please resolve the merge conflicts. |
bors
commented
Apr 25, 2021
☔ The latest upstream changes (presumably #84115) made this pull request unmergeable. Please resolve the merge conflicts. |
This comment has been minimized.
This comment has been minimized.
CDirkx
commented
Apr 25, 2021
|
bors
commented
May 7, 2021
☔ The latest upstream changes (presumably #85036) made this pull request unmergeable. Please resolve the merge conflicts. |
bors
commented
Jun 20, 2021
☔ The latest upstream changes (presumably #84967) made this pull request unmergeable. Please resolve the merge conflicts. |
bors
commented
Sep 2, 2021
☔ The latest upstream changes (presumably #87580) made this pull request unmergeable. Please resolve the merge conflicts. |
JohnCSimon
commented
Sep 20, 2021
Ping from triage: |
joshtriplett
commented
Oct 4, 2021
Seems reasonable to me; r=me with conflicts addressed. |
JohnCSimon
commented
Oct 24, 2021
Ping again from triage: |
Closing this as inactive |
After #84413 and #84179 I have been looking into if code for
sys::args::Argscould be de-duplicated, as it was essentially the same on every platform: a wrapper type implementing!Send + !Sync + Debug + Iterator + ExactIterator + DoubleEndedIterator(although note that onwindowsandsgxthe types are currently not!Send + !Sync).This PR makes
sys::args::Argsa type alias (forvec::IntoIter/) and extracts the wrapper type toEmpty/Clone<Iter<'static>>depending on the platformsys_common.Alternatively, the wrapper type could be removed entirely and the type aliases used directly (i.e. only the first commit of this PR), since they are wrapped by
std::env::ArgsOsanyway. These type aliases are not!Send + !Sync, but I don't know how much of a problem that would be sinceArgsOsimplements!Send + !Syncexplicitly and currentlysys::windows::args::Argsandsys::sgx::args::Argsare alreadySendandSync.