mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 14:55:26 +00:00
Rollup merge of #99723 - bstrie:wasifd, r=yaahc
Allow using stable os::fd::raw items through unstable os::wasi module This fixes a regression from stable to nightly. Closes #99502.
This commit is contained in:
commit
f3266923fe
@ -14,6 +14,7 @@ use crate::os::wasi::io::OwnedFd;
|
||||
use crate::sys_common::{AsInner, IntoInner};
|
||||
|
||||
/// Raw file descriptors.
|
||||
#[cfg_attr(not(bootstrap), rustc_allowed_through_unstable_modules)]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub type RawFd = raw::c_int;
|
||||
|
||||
@ -22,6 +23,7 @@ pub type RawFd = raw::c_int;
|
||||
/// This is only available on unix and WASI platforms and must be imported in
|
||||
/// order to call the method. Windows platforms have a corresponding
|
||||
/// `AsRawHandle` and `AsRawSocket` set of traits.
|
||||
#[cfg_attr(not(bootstrap), rustc_allowed_through_unstable_modules)]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub trait AsRawFd {
|
||||
/// Extracts the raw file descriptor.
|
||||
@ -57,6 +59,7 @@ pub trait AsRawFd {
|
||||
|
||||
/// A trait to express the ability to construct an object from a raw file
|
||||
/// descriptor.
|
||||
#[cfg_attr(not(bootstrap), rustc_allowed_through_unstable_modules)]
|
||||
#[stable(feature = "from_raw_os", since = "1.1.0")]
|
||||
pub trait FromRawFd {
|
||||
/// Constructs a new instance of `Self` from the given raw file
|
||||
@ -100,6 +103,7 @@ pub trait FromRawFd {
|
||||
|
||||
/// A trait to express the ability to consume an object and acquire ownership of
|
||||
/// its raw file descriptor.
|
||||
#[cfg_attr(not(bootstrap), rustc_allowed_through_unstable_modules)]
|
||||
#[stable(feature = "into_raw_os", since = "1.4.0")]
|
||||
pub trait IntoRawFd {
|
||||
/// Consumes this object, returning the raw underlying file descriptor.
|
||||
|
@ -2,4 +2,19 @@
|
||||
|
||||
#![unstable(feature = "wasi_ext", issue = "71213")]
|
||||
|
||||
// NOTE: despite the fact that this module is unstable,
|
||||
// stable Rust had the capability to access the stable
|
||||
// re-exported items from os::fd::raw through this
|
||||
// unstable module.
|
||||
// In PR #95956 the stability checker was changed to check
|
||||
// all path segments of an item rather than just the last,
|
||||
// which caused the aforementioned stable usage to regress
|
||||
// (see issue #99502).
|
||||
// As a result, the items in os::fd::raw were given the
|
||||
// rustc_allowed_through_unstable_modules attribute.
|
||||
// No regression tests were added to ensure this property,
|
||||
// as CI is not configured to test wasm32-wasi.
|
||||
// If this module is stabilized,
|
||||
// you may want to remove those attributes
|
||||
// (assuming no other unstable modules need them).
|
||||
pub use crate::os::fd::raw::*;
|
||||
|
Loading…
Reference in New Issue
Block a user