Skip to content

fix(rust-client): restore bare-metal no_std builds - #2520

Open
huklaa wants to merge 8 commits into
0xMiden:nextfrom
huklaa:fix-2519-optional-tonic
Open

fix(rust-client): restore bare-metal no_std builds#2520
huklaa wants to merge 8 commits into
0xMiden:nextfrom
huklaa:fix-2519-optional-tonic

Conversation

@huklaa

@huklaa huklaa commented Sep 8, 2026

Copy link
Copy Markdown

Closes #2519.

Summary

  • make the gRPC runtime dependencies optional behind the existing tonic feature
  • generate message-only protobuf bindings when a no-default-features build does not enable transport support
  • remove the remaining unconditional std-only dependency features from the bare-metal graph while preserving them under std
  • require no-std consumers to provide an RNG explicitly through ClientBuilder::rng, since there is no platform entropy source
  • add a thumbv7em-none-eabihf build target and CI job so bare-metal support cannot silently regress

Validation

  • git diff --check passed
  • Cargo feature-graph assertions passed for optional transport dependencies and restored std feature relationships
  • the new make build-no-std command resolves to:
    cargo build --package miden-client --target thumbv7em-none-eabihf --no-default-features --locked
  • the available local runner does not include Cargo, so the new hosted bare-metal job is the compile gate

Scope check

Immediately before submission, issue assignment/comments, open and recently merged PRs, related branches, and recent commits were checked. No overlapping implementation was found.

@huklaa
huklaa force-pushed the fix-2519-optional-tonic branch from 50b9f63 to 098b39e Compare September 9, 2026 10:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

rust-client marked as no_std but unconditionally depends on tonic (breaks no_std builds)

1 participant