egui/scripts
TÖRÖK Attila fdb9aa282a
Raise MSRV to 1.84 (#6848)
Prerequisite of https://github.com/emilk/egui/pull/6744.
See: https://github.com/gfx-rs/wgpu/pull/7218,
https://github.com/gfx-rs/wgpu/pull/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.
https://github.com/gfx-rs/wgpu/issues/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`.
2025-04-24 17:00:29 +02:00
..
clippy_wasm Raise MSRV to 1.84 (#6848) 2025-04-24 17:00:29 +02:00
build_demo_web.sh wgpu: Bump to wgpu 23.0.0 and wasm-bindgen to 0.2.95 (#5330) 2024-10-30 18:53:22 +01:00
cargo_deny.sh Add `xtask` crate (#4293) 2024-04-21 19:26:16 +02:00
check.sh Raise MSRV to 1.84 (#6848) 2025-04-24 17:00:29 +02:00
clippy_wasm.sh Replace cargo-cranky with workspace lints (#4413) 2024-04-25 17:24:50 +02:00
docs.sh Rename `sh/` folder to `scripts/` 2023-04-18 17:10:52 +02:00
find_bloat.sh Rename `sh/` folder to `scripts/` 2023-04-18 17:10:52 +02:00
generate_changelog.py Explain how to set up generate_changelog.py 2025-02-04 16:30:32 +01:00
generate_example_screenshots.sh Update example screenshots 2024-02-05 13:01:10 +01:00
lint.py Use Python 3 in `scripts/lint.py` (#5617) 2025-01-22 15:28:38 +01:00
setup_web.sh Upgrade to wgpu 24 (#5610) 2025-01-16 17:00:29 +01:00
start_server.sh Change web demo local port to 8765 to avoid colliding with Jupyter 2024-06-28 08:37:21 +02:00
update_snapshots_from_ci.sh Add script to update local snapshots from CI (#5816) 2025-03-25 09:19:21 +01:00
wasm_bindgen_check.sh Remove the need for setting `web_sys_unstable_apis` (#5000) 2024-08-26 16:31:38 +02:00
wasm_size.sh Rename `docs/` to `web_demo/` 2023-11-16 16:44:30 +01:00