From 634d1a0e3a4e3156a5fe16bbfd63db6db03e9962 Mon Sep 17 00:00:00 2001 From: kazi raiyan hossain Date: Wed, 4 Nov 2026 10:22:24 +0700 Subject: [PATCH] Fix wasm_js error formatting with backend overrides Do not reference WEB_CRYPTO when unsupported, custom, or extern_impl overrides the WebAssembly backend. That constant exists only in the wasm_js backend, even when Cargo feature unification leaves wasm_js enabled. Extend the Wasm override build job to compile unsupported and custom backends both with and without wasm_js. --- .github/workflows/build.yml | 12 ++++++++---- src/error.rs | 5 +++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e301510b8..bf4cd9c0e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -272,14 +272,18 @@ jobs: run: cargo build --target riscv32i-unknown-none-elf unsupported: - name: Runtime error + name: Wasm backend override (${{ matrix.backend }}) runs-on: ubuntu-24.04 + strategy: + matrix: + backend: [unsupported, custom] + env: + RUSTFLAGS: -Dwarnings --cfg getrandom_backend="${{ matrix.backend }}" steps: - uses: actions/checkout@v7 - uses: dtolnay/rust-toolchain@stable with: targets: wasm32-unknown-unknown - uses: Swatinem/rust-cache@v2 - - env: - RUSTFLAGS: -Dwarnings --cfg getrandom_backend="unsupported" - run: cargo build --target wasm32-unknown-unknown + - run: cargo build --target wasm32-unknown-unknown + - run: cargo build --target wasm32-unknown-unknown --features wasm_js diff --git a/src/error.rs b/src/error.rs index 73a827431..03011da0d 100644 --- a/src/error.rs +++ b/src/error.rs @@ -179,6 +179,11 @@ impl Error { Error::WINDOWS_RTL_GEN_RANDOM => "RtlGenRandom: Windows system function failure", #[cfg(all( feature = "wasm_js", + not(any( + getrandom_backend = "unsupported", + getrandom_backend = "custom", + getrandom_backend = "extern_impl", + )), target_arch = "wasm32", any(target_os = "unknown", target_os = "none") ))]