Skip to content

Conversation

@sunfishcode
Copy link
Owner

Move the async-std, tokio, socket2, and mio dependencies into a
not(target_os = "wasi") dependency section. This fixes the problem
that the default features in async-std, which we need, depend on
socket2, which doesn't work on WASI yet.

The tradeoff here is that WASI users won't be able to make use of
io-lifetimes' impls for these third-party crate types. But we are
working to add these traits upstream, which will eventually make
this unnecessary.

Move the async-std, tokio, socket2, and mio dependencies into a
`not(target_os = "wasi")` dependency section. This fixes the problem
that the default features in async-std, which we need, depend on
socket2, which doesn't work on WASI yet.

The tradeoff here is that WASI users won't be able to make use of
io-lifetimes' impls for these third-party crate types. But we are
working to add these traits upstream, which will eventually make
this unnecessary.
@sunfishcode
Copy link
Owner Author

I'm open to other ideas, but for now I think this makes sense to try as 1.0.0-rc1 and see how it goes.

@sunfishcode sunfishcode merged commit 88485d3 into main Aug 23, 2022
@sunfishcode sunfishcode deleted the sunfishcode/no-impls-on-wasi branch August 23, 2022 19:18
@sunfishcode
Copy link
Owner Author

This is now released in 1.0.0-rc1.

sunfishcode added a commit that referenced this pull request Oct 22, 2022
* Disable async-std and other dependencies on WASI.

Move the async-std, tokio, socket2, and mio dependencies into a
`not(target_os = "wasi")` dependency section. This fixes the problem
that the default features in async-std, which we need, depend on
socket2, which doesn't work on WASI yet.

The tradeoff here is that WASI users won't be able to make use of
io-lifetimes' impls for these third-party crate types. But we are
working to add these traits upstream, which will eventually make
this unnecessary.

* Add testing on Rust 1.48.

* Add an MSRV note to README.md.

* Disable deprecation warnings in impls_std.rs.
sunfishcode added a commit that referenced this pull request Oct 22, 2022
* Disable async-std and other dependencies on WASI.

Move the async-std, tokio, socket2, and mio dependencies into a
`not(target_os = "wasi")` dependency section. This fixes the problem
that the default features in async-std, which we need, depend on
socket2, which doesn't work on WASI yet.

The tradeoff here is that WASI users won't be able to make use of
io-lifetimes' impls for these third-party crate types. But we are
working to add these traits upstream, which will eventually make
this unnecessary.

* Add testing on Rust 1.48.

* Add an MSRV note to README.md.

* Disable deprecation warnings in impls_std.rs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants