You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The lowest MSRV here is 1.36 (aside from cache-padded, which we are planning on deprecating, see smol-rs/cache-padded#7). As a whole, the policy is usually to not bump the MSRV past the current Rust version used by Debian Stable (currenly 1.63), but once Debian Stable upgrades to a new Rust version, or a bump in an important crate (such as libc) happens, we will upgrade to a newer Rust version. This issue keeps track of features that may be useful to smol, but cannot be used yet because we don't have the required Rust version.
The pin! macro could be used to reimplement the pin macro in futures-lite without unsafe code. This means futures-lite could not contain any unsafe code.
Async functions in traits will likely cause the entire async ecosystem to be revamped, we should look out for potentially breaking bumps in futures-lite or async-io.
As of the time of writing (updated 2024-01-14), the current MSRV for every crate in the
smol-rsorganization is as follows:async-broadcastasync-channelasync-compatasync-dupasync-executorasync-fsasync-ioasync-lockasync-netasync-processasync-rustls1.61async-signalasync-taskatomic-wakerblockingcache-padded1.31concurrent-queueeasy-parallelevent-listenerevent-listener-strategyfastrandfastrand-contribfutures-litenb-connectN/Aparkingpiperpollingsmolsmol-macrosvec-arenaN/Awaker-fnThe lowest MSRV here is 1.36 (aside from
cache-padded, which we are planning on deprecating, see smol-rs/cache-padded#7). As a whole, the policy is usually to not bump the MSRV past the current Rust version used by Debian Stable (currenly 1.63), but once Debian Stable upgrades to a new Rust version, or a bump in an important crate (such aslibc) happens, we will upgrade to a newer Rust version. This issue keeps track of features that may be useful tosmol, but cannot be used yet because we don't have the required Rust version.IntoFutureon certain structures (likeasync_process::Child).futures-litemay want to re-export the newly stableready!()andpoll_fnitems. As before, this would be a breaking change.backtracemay allow us to add backtraces to some of our futures.event_listener_strategy::Strategyin a sounder way. (GAT nature ofStrategy::Futureevent-listener-strategy#8)std::os::fdmodule could be used to replace parts ofstd::os::unix::ioin a way that helps support WASI.must_usecan now be used successfully onasync fn.pin!macro could be used to reimplement thepinmacro infutures-litewithout unsafe code. This meansfutures-litecould not contain any unsafe code.VecDeque::newto avoid usingOnceCellinblocking. (Remove the dependency on async-lock blocking#59)futures-liteorasync-io.AsyncIteratormay replaceStreaminfutures.ReadBufis supported, we can use that inpiperto avoid needing to initialize/zero out parts of the pipe.piperv1.0.(Feel free to add any that I missed)