Conversation
This was referenced Sep 10, 2026
Draft
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this does
Adds
no_stdsupport, so the crate can be used from a wasm runtime.Why
Substrate runtimes compile to
wasm32-unknown-unknownwithoutstd. Everything this crate does is already available incoreandalloc, so the only obstacles were the lazy static and a transitivestdlink throughsha2.Changes
spin::Lazyunderno_std, gated sostdkeepsLazyLockLazyLockis unavailable withoutstd, and this keeps thestdpath exactly as it wassha2switched todefault-features = falsestd, which defeats ano_stdbuild even when nothing calls into itcompile_error!naming the missing backend--no-default-featuresneithersha2norringis enabled, and the resulting errors were previously a wall of unrelated messages rather than a clear causeThe
stdbuild is unchanged.Verification
cargo testcargo check --no-default-features --features sha2 --target wasm32-unknown-unknowncargo fmt --checkHappy to adjust the approach if you would rather solve the lazy static differently, or drop the
compile_error!guard if you consider it noise.