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. The serde helpers here need onlycoreandalloc, so the change is mostly swappingstdimports forallocones and gating the crate.Changes
#![cfg_attr(not(feature = "std"), no_std)]withextern crate allocstdimports replaced withallocequivalents where they are used unconditionallystdfeature wires through to the dependencies that need itThe
stdbuild is unchanged.Verification
cargo testcargo check --no-default-features --target wasm32-unknown-unknowncargo fmt --checkA note on the diff size
Two of the three commits are unrelated housekeeping that the tooling flagged while working here: one applies
rustfmt, one fixes current clippy lints. They are what makes this touch 16 files rather than a handful.They are kept as separate commits, so if you would rather review the
no_stdwork alone, say so and I will drop them and open them separately, or not at all.