-
Notifications
You must be signed in to change notification settings - Fork 1k
Update REPO_MSRV
to 1.85
#7218
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
Update REPO_MSRV
to 1.85
#7218
Conversation
d9a4321
to
84f9432
Compare
[lints.rust] | ||
unexpected_cfgs = { level = "warn", check-cfg = [ | ||
# Added by xshell | ||
'cfg(trick_rust_analyzer_into_highlighting_interpolated_bits)', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
question: wat is this
I see https://github.com/matklad/xshell/blob/52f71bac326aaac291d07146ea790ad886dd8131/src/lib.rs#L342 with the same wording, but that doesn't seem to actually be a cfg
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://github.com/matklad/xshell/blob/v0.2.6/src/lib.rs Seems only be a thing in 0.2.6...
FWIW this breaks rust-gpu as we are on nightly-2024-11-22 (~1.84) and it is a ton of work to port forward on our end (Rust-GPU/rust-gpu#182). I will file a new issue. |
Prerequisite of #6744. See: gfx-rs/wgpu#7218, gfx-rs/wgpu#7425 Please be aware that Rust 1.84 enables some (more) WASM extensions by default, and ships with an `std` built with them enabled: https://blog.rust-lang.org/2024/09/24/webassembly-targets-change-in-default-target-features/ According to `rustc +1.84 --print=cfg --target wasm32-unknown-unknown`, these are: `multivalue`, `mutable-globals`, `reference-types`, and `sign-ext`. (c.f. `rustc +1.84 --print=cfg --target wasm32-unknown-unknown -C target-cpu=mvp` enabling none.) For reference: https://webassembly.org/features/ ---- If support is desired for ancient/esoteric browsers that don't have these implemented, there are two ways to get around this: - Target `wasm32v1-none` instead, but that's a `no-std` target, and I suppose a lot of dependencies don't work that way (e.g. gfx-rs/wgpu#6826) - Using the `-Ctarget-cpu=mvp` and `-Zbuild-std=panic_abort,std` flags, and the `RUSTC_BOOTSTRAP=1` escape hatch to allow using the latter with non-`nightly` toolchains - until https://github.com/rust-lang/wg-cargo-std-aware is stabilized. (For reference: https://github.com/ruffle-rs/ruffle/pull/18528/files#diff-fb2896d189d77b35ace9a079c1ba9b55777d16e0f11ce79f776475a451b1825a) I don't think either of these is particularly advantageous, so I suggest just accepting that browsers will have to have some extensions implemented to run `egui`.
Motivated by enabling
wasm32v1-none
which requires higher than 1.83, but I realized that updating would be fairly easy.