Skip to content

Conversation

@wilfreddenton
Copy link

@wilfreddenton wilfreddenton commented Dec 10, 2025

  • Imports String, Vec, etc. from core and alloc instead of std.
  • Removes indexmap dep in favor of alloc::collections::BTreeMap
  • std::collections::HashMap is replaced with alloc::collections::BTreeMap
  • ui test is conditioned on wit feature
  • added std feature and included it in default list

Crate tests pass for me locally for both:

cargo test --no-default-features

and

cargo test

#2399

@wilfreddenton wilfreddenton requested a review from a team as a code owner December 10, 2025 03:08
@wilfreddenton wilfreddenton requested review from pchickey and removed request for a team December 10, 2025 03:08
@wilfreddenton wilfreddenton marked this pull request as draft December 10, 2025 03:09
@alexcrichton
Copy link
Member

Oh, also, mind adding checks to CI that this builds with various combinations of features? We do similar for other crates in .github/workflows/main.yml

@wilfreddenton wilfreddenton force-pushed the wasm-wave-no-std branch 2 times, most recently from f8548fd to 4f64af9 Compare December 10, 2025 17:27
@wilfreddenton
Copy link
Author

Addressing the remaining CI failures:

One of the jobs is failing on:

 --> crates/wasm-wave/src/parser.rs:3:12
  |
3 | use core::{error::Error, fmt::Display};
  |            ^^^^^^^^^^^^
  |
  = note: see issue #103765 <https://github.com/rust-lang/rust/issues/103765> for more information

core::error::Error was stabilized in 1.81.0 but the job is using 1.76.0. Can this version be updated?

The other job is failing on the wit-dylib tests/all.rs. After installing the wasi-sdk and the wasmtime cli I am able to run

cargo test --locked --all

successfully locally so I am unable to reproduce this.

@alexcrichton
Copy link
Member

Ah the msrv policy of this workspace is here, and it looks like 1.81 is now possible too so I've sent #2402 to update the msrv.

The other job is failing on the wit-dylib

I'll look into that, I agree it's probably unrelated to this PR

@alexcrichton
Copy link
Member

Ok #2402 should address the CI issues here. Once that is merged if you can rebase on top of that I think that'll have everything "just work"


fn finish_flags(&mut self, start: usize) -> Result<Node, ParserError> {
let mut flags = IndexMap::with_capacity(1);
let mut flags = BTreeMap::new();
Copy link
Contributor

@lann lann Dec 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a (small) functional change, switching the ordering of serialized flags from definition-ordered to lexicographical. I don't see this behavior documented anywhere so its probably fine. Clearly it wasn't important enough to me to assert it in a test case. 😅

@wilfreddenton wilfreddenton marked this pull request as ready for review December 13, 2025 20:08
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.

3 participants