-
Notifications
You must be signed in to change notification settings - Fork 12.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Seal MetadataExt
on all platforms
#118916
Conversation
(rustbot has picked a reviewer for you, use r? to override) |
This comment has been minimized.
This comment has been minimized.
bf80fc9
to
c59705f
Compare
This comment has been minimized.
This comment has been minimized.
c59705f
to
d79d9c2
Compare
d79d9c2
to
a0572b3
Compare
@bors try |
Seal `MetadataExt` on all platforms The Windows flavour of [`MetadataExt`](https://doc.rust-lang.org/std/os/windows/fs/trait.MetadataExt.html) is currently unimplementable on stable because of unstable methods. Therefore anyone making a cross-platform library that implements `MetadataExt` will fail on Windows. So let's see if we can seal it for all platforms. [Last time this was tried](rust-lang#81213 (comment)), sealing `MetadataExt` only caused a problem for one old version of one crate.
☀️ Try build successful - checks-actions |
1 similar comment
☀️ Try build successful - checks-actions |
@craterbot check |
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
🚧 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
🎉 Experiment
|
So the bad news is that
|
cc @sunfishcode, maybe changes could be made to cap-primitives. Though I'm now thinking we can't do this on Unix. If we ever do have a need to extend |
Yeah. I can change cap-primitives to avoid using |
@rustbot author |
I think I'll close this for now. Even if cap-primitives is updated today there's going to be a long tale of crates relying on older versions so it'd be best to revisit this later. I might open another PR for specific platforms where |
@ChrisDenton I've now remove all implementations of all std::os::* traits from cap-std, and released it as cap-std 3.0. As you say, it'll likely be some time before all users are updated. |
The Windows flavour of
MetadataExt
is currently unimplementable on stable because of unstable methods. Therefore anyone making a cross-platform library that implementsMetadataExt
will fail on Windows. So let's see if we can seal it for all platforms.Last time this was tried, sealing
MetadataExt
only caused a problem for one old version of one crate.