Skip to content

Commit fdb9aa2

Browse files
authored
Raise MSRV to 1.84 (#6848)
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`.
1 parent 3dd8d34 commit fdb9aa2

File tree

33 files changed

+40
-40
lines changed

33 files changed

+40
-40
lines changed

.github/workflows/deploy_web_demo.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
with:
4040
profile: minimal
4141
target: wasm32-unknown-unknown
42-
toolchain: 1.81.0
42+
toolchain: 1.84.0
4343
override: true
4444

4545
- uses: Swatinem/rust-cache@v2

.github/workflows/preview_build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
- uses: actions/checkout@v4
2020
- uses: dtolnay/rust-toolchain@master
2121
with:
22-
toolchain: 1.81.0
22+
toolchain: 1.84.0
2323
targets: wasm32-unknown-unknown
2424
- uses: Swatinem/rust-cache@v2
2525
with:

.github/workflows/rust.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ name: Rust
55
env:
66
RUSTFLAGS: -D warnings
77
RUSTDOCFLAGS: -D warnings
8-
NIGHTLY_VERSION: nightly-2024-09-11
8+
NIGHTLY_VERSION: nightly-2025-04-22
99

1010
jobs:
1111
fmt-crank-check-test:
@@ -18,7 +18,7 @@ jobs:
1818

1919
- uses: dtolnay/rust-toolchain@master
2020
with:
21-
toolchain: 1.81.0
21+
toolchain: 1.84.0
2222

2323
- name: Install packages (Linux)
2424
if: runner.os == 'Linux'
@@ -83,7 +83,7 @@ jobs:
8383
- uses: actions/checkout@v4
8484
- uses: dtolnay/rust-toolchain@master
8585
with:
86-
toolchain: 1.81.0
86+
toolchain: 1.84.0
8787
targets: wasm32-unknown-unknown
8888

8989
- run: sudo apt-get update && sudo apt-get install libgtk-3-dev libatk1.0-dev
@@ -155,7 +155,7 @@ jobs:
155155
- uses: actions/checkout@v4
156156
- uses: EmbarkStudios/cargo-deny-action@v2
157157
with:
158-
rust-version: "1.81.0"
158+
rust-version: "1.84.0"
159159
log-level: error
160160
command: check
161161
arguments: --target ${{ matrix.target }}
@@ -170,7 +170,7 @@ jobs:
170170

171171
- uses: dtolnay/rust-toolchain@master
172172
with:
173-
toolchain: 1.81.0
173+
toolchain: 1.84.0
174174
targets: aarch64-linux-android
175175

176176
- name: Set up cargo cache
@@ -189,7 +189,7 @@ jobs:
189189

190190
- uses: dtolnay/rust-toolchain@master
191191
with:
192-
toolchain: 1.81.0
192+
toolchain: 1.84.0
193193
targets: aarch64-apple-ios
194194

195195
- name: Set up cargo cache
@@ -208,7 +208,7 @@ jobs:
208208
- uses: actions/checkout@v4
209209
- uses: dtolnay/rust-toolchain@master
210210
with:
211-
toolchain: 1.81.0
211+
toolchain: 1.84.0
212212

213213
- name: Set up cargo cache
214214
uses: Swatinem/rust-cache@v2
@@ -232,7 +232,7 @@ jobs:
232232
lfs: true
233233
- uses: dtolnay/rust-toolchain@master
234234
with:
235-
toolchain: 1.81.0
235+
toolchain: 1.84.0
236236

237237
- name: Set up cargo cache
238238
uses: Swatinem/rust-cache@v2

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ members = [
2323
[workspace.package]
2424
edition = "2021"
2525
license = "MIT OR Apache-2.0"
26-
rust-version = "1.81"
26+
rust-version = "1.84"
2727
version = "0.31.1"
2828

2929

clippy.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# -----------------------------------------------------------------------------
44
# Section identical to scripts/clippy_wasm/clippy.toml:
55

6-
msrv = "1.81"
6+
msrv = "1.84"
77

88
allow-unwrap-in-tests = true
99

crates/egui/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
//! Try the live web demo: <https://www.egui.rs/#demo>. Read more about egui at <https://github.com/emilk/egui>.
44
//!
55
//! `egui` is in heavy development, with each new version having breaking changes.
6-
//! You need to have rust 1.81.0 or later to use `egui`.
6+
//! You need to have rust 1.84.0 or later to use `egui`.
77
//!
88
//! To quickly get started with egui, you can take a look at [`eframe_template`](https://github.com/emilk/eframe_template)
99
//! which uses [`eframe`](https://docs.rs/eframe).

examples/confirm_exit/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ version = "0.1.0"
44
authors = ["Emil Ernerfeldt <[email protected]>"]
55
license = "MIT OR Apache-2.0"
66
edition = "2021"
7-
rust-version = "1.81"
7+
rust-version = "1.84"
88
publish = false
99

1010
[lints]

examples/custom_3d_glow/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ version = "0.1.0"
44
authors = ["Emil Ernerfeldt <[email protected]>"]
55
license = "MIT OR Apache-2.0"
66
edition = "2021"
7-
rust-version = "1.81"
7+
rust-version = "1.84"
88
publish = false
99

1010
[lints]

examples/custom_font/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ version = "0.1.0"
44
authors = ["Emil Ernerfeldt <[email protected]>"]
55
license = "MIT OR Apache-2.0"
66
edition = "2021"
7-
rust-version = "1.81"
7+
rust-version = "1.84"
88
publish = false
99

1010
[lints]

examples/custom_font_style/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ version = "0.1.0"
44
authors = ["tami5 <[email protected]>"]
55
license = "MIT OR Apache-2.0"
66
edition = "2021"
7-
rust-version = "1.81"
7+
rust-version = "1.84"
88
publish = false
99

1010
[lints]

0 commit comments

Comments
 (0)