-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Description
Steps to Reproduce
- Update to a Rust nightly after the 27th of July
- Attempt to build
wasmtime-wasi
Expected Results
The build completes successfully.
Actual Results
The build fails as the version of cap-std
in use uses sealed traits in the Rust stdlib:
--> C:\Users\me\.cargo\registry\src\git.colasdn.top-1ecc6299db9ec823\cap-primitives-0.25.3\src\fs
\file_type.rs:134:6
|
134 | impl std::os::windows::fs::FileTypeExt for FileType {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::sealed::Sealed` is not
implemented for `file_type::FileType`
|
= help: the following other types implement trait `std::sealed::Sealed`:
Child
Command
ExitCode
ExitStatus
ExitStatusError
OsStr
OsString
Simd<f32, N>
and 2 others
note: required by a bound in `std::os::windows::fs::FileTypeExt`
Versions and Environment
Wasmtime version or commit: 1.0.0
Operating system: Windows 10
Architecture: x86-64
Extra Info
This is caused by bytecodealliance/cap-std#270, which has been fixed up by upstream cap-std
. A v0.26.0-patch1 has been released that includes this fix, but it may be worth waiting for the 1.0.0? (not sure what y'all are planning internally.)
Prior to this, I was using wasmtime 0.39.1 with these patches:
[patch.crates-io]
cap-std = { git = "https://github.com/bytecodealliance/cap-std.git", branch = "sunfishcode/file-type-ext" }
cap-primitives = { git = "https://github.com/bytecodealliance/cap-std.git", branch = "sunfishcode/file-type-ext" }
cap-fs-ext = { git = "https://github.com/bytecodealliance/cap-std.git", branch = "sunfishcode/file-type-ext" }
As wasmtime 1.0.0 depends on 0.25.3 specifically, I can no longer manually patch the relevant packages as there's no version of 0.25.3 with this fix on the Git repository, and (as far as I can tell, it's still a little mysterious to me) there's no way to patch with another version from crates.io (I'd patch with 1.0.0rc1 if it was possible)
This is currently blocking us from updating to 1.0.0; 0.39.1 still works fine, but would love to get in today's release hype 🚀