Taiki Endo
Taiki Endo
@antoinevg As for no_std, I don't think the situation has changed since the previous decision in https://github.com/rust-lang/futures-rs/issues/860.
> Developing for older MSRVs on an M1 mac is hard 🙃 the minimum rust I can install is 1.49 FYI, you can use `rustup toolchain add 1.38-x86_64-apple-darwin` and `cargo...
Ok, marked this as draft for now.
(I thought the icon of [the discord server](https://discord.com/invite/x6m5Vvt) is the logo of smol-rs...)
We can probably do this without vendoring by using dependency renaming. ```toml # Cargo.toml [features] parking_lot = ["parking_lot-crate", "once_cell/parking_lot"] [dependencies] parking_lot-crate = { version = "...", package = "parking_lot", optional...
If once_cell bumps MSRV (https://github.com/matklad/once_cell/pull/198#issuecomment-1248738780) we may need to consider doing this to address it. The policy on how to handle MSRV bumps from dependencies is not yet decided, but...
> once_cell is unlikely to be more aggressive than six-months MSRV of tokio. Yeah, it is not a problem for normal releases, but might be a problem for LTS releases:...
`futures-rs` prefers to use our own PRNG implementation because rand has caused maintenance pains (https://github.com/rust-lang/futures-rs/pull/1664#issuecomment-499594938, https://github.com/rust-lang/futures-rs/pull/1425, https://github.com/rust-lang/futures-rs/pull/1804, https://github.com/rust-lang/futures-rs/issues/1489, etc.) in the past.
`Option` has [`as_pin_ref` and `as_pin_mut`](https://doc.rust-lang.org/nightly/std/option/enum.Option.html#method.as_pin_ref) for this purpose. It's okay to provide `Either::{as_pin_ref, as_pin_mut}`, as these are sound unless [you write other (wrong) unsafe code](https://github.com/rust-lang/rust/pull/78370#discussion_r527862994).
Re-opening -- I think it is reasonable to have such methods in futures.