-
Notifications
You must be signed in to change notification settings - Fork 811
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Increasing minumum supported rust version occured by rkyv and hashbrown #2819
Comments
Sounds reasonable! |
Wasmer only guarantees support for the last 2 stable versions of Rust. You can see Wasmer's MSRV in the |
@Amanieu Bu,t I think this is not just an inherent problem with wasmer 2.2.0. I have the same problem with wasmer 2.0.0. Regardless of the current MSRV, if wasmer don't pin the dependencies version, it is expected that older versions in the future will continue to have similar problems. For example, suppose rkyv is updated in the future so that msrv required 1.60.0. Wasmer 2.2.0's msrv was specified as 1.56.0, but it will be raised due to this problem again. |
Unfortunately this is an unresolved ecosystem-wide problem. I highly recommend taking the time to read all of rust-lang/api-guidelines#252, which was very helpful to me. It's a back and forth between You can't simply break other people's projects that compiled once with compiler X on the one side and well, stability guarantess? Whatever! Give it up because there is always this one dude in the dependency tree that requires a recent Rust version for some reason if any. CosmWasm tries to establish compiler support guarantees and we currently cannot easily upgrade beyond 1.55.0 for very custom reasons. But we are failing for the reasons described above. |
I don't think wasmer should fix a maximum version for rkyv. Suppose rkyv releases some important bugfix. If wasmer requires a specific version, dependencies of wasmer wouldn't be able to use the rkyv bugfix release without an update from wasmer first. Would adding a dependency like
to cosmwasm take care of the problem? (Sorry, none of my business, but I did feel the need to mention the downsides of wasmer fixing this problem for cosmwasm.) |
I agree there is very little Wasmer can or should do about it. It's a Rust ecosytsem mess and we have the same problem potentially for each and every dependency. We see many projects even bumping their compiler requirements in a patch release. I work around it by manually adjusting lockfiles. For our users there is little we can do to provide a stable min compiler version. |
I agree that this is essentially a problem on the rust eco system side.
However,Solving with W/A in the cosmwasm project is not completely solved the problem yet. -- |
It seems we should be good to close the issue, since there's little we can do on our side. But if anyone else has more suggestions on what can be done on our side please feel free to add a comment |
Describe the bug
Close: CosmWasm/cosmwasm#1244 Finschia/cosmwasm#174
Since the
rkyv
dependency referenced by several subpackages of wasmer is not pinned,so the
rkyv
version is automatically incremented in thecargo.lock
.However, as the version of
rkyv
increases tov0.7.36
, the version of rust must be raised.because of
Hashbrown 0.12.0
used in the latest version of rkyv requires rustedition2021
.So the original
wasmer 2.2.0
should be compilable with rust1.54.0
,but because of this problem, compiling elsewhere is not possible.
Until fix, we should present a guide to downgrade rkyv to new project with all dependencies.
So could you please pin the version of rkyv? Like wasmer's subpackages("=2.2.0).
wasmer/lib/compiler/Cargo.toml
Line 24 in 8b9af9b
wasmer/lib/engine-dylib/Cargo.toml
Line 26 in 8b9af9b
wasmer/lib/engine-universal/Cargo.toml
Line 27 in 8b9af9b
wasmer/lib/types/Cargo.toml
Line 17 in 8b9af9b
wasmer/lib/vm/Cargo.toml
Line 24 in 8b9af9b
The text was updated successfully, but these errors were encountered: