Skip to content

Reduce repo MSRV from 1.85 to 1.84 #7425

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

Merged
merged 5 commits into from
Mar 27, 2025
Merged

Reduce repo MSRV from 1.85 to 1.84 #7425

merged 5 commits into from
Mar 27, 2025

Conversation

LegNeato
Copy link
Contributor

@LegNeato LegNeato commented Mar 25, 2025

Fixes #7409.

Squash or Rebase?
Squash

@LegNeato LegNeato requested a review from a team as a code owner March 25, 2025 17:50
Copy link
Member

@cwfitzgerald cwfitzgerald left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One comment, then g2g

@cwfitzgerald cwfitzgerald merged commit 1ef9940 into gfx-rs:trunk Mar 27, 2025
38 checks passed
@LegNeato LegNeato deleted the msrv branch March 28, 2025 09:09
emilk pushed a commit to emilk/egui that referenced this pull request Apr 24, 2025
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`.
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.

Repo move to MSRV 1.85 breaks rust-gpu
2 participants