Bump wasm-bindgen-utils to 0.1.2#226
Conversation
Moving wasm-bindgen-utils from 0.0.11 to 0.1.2 unifies the version with raindex/rain.metadata so downstream consumers resolve a single utils copy (0.0.x and 0.1.x are semver-incompatible, which otherwise produces two preludes and a "missing try_from_js_value_ref" ABI mismatch). 0.1.2 requires wasm-bindgen >= 0.2.93, so the lock moves the wasm-bindgen family 0.2.100 -> 0.2.122 (serde stays 1.0.219). Crucially, wasm-bindgen is now a direct dependency. The #[wasm_bindgen] macro emits `::wasm_bindgen` paths; when the crate is only a transitive dep those paths fail to resolve and the 0.2.122 macro recurses without bound on opaque-class structs (Float, FromFixedDecimalLossyResult) — the compiler just keeps suggesting a larger recursion_limit forever. Declaring wasm-bindgen directly (as rain.metadata already does) resolves it with no source changes. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
WalkthroughThe PR updates ChangesWASM dependency updates
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai assess this PR size classification for the totality of the PR with the following criterias and report it in your comment: S/M/L PR Classification Guidelines:This guide helps classify merged pull requests by effort and complexity rather than just line count. The goal is to assess the difficulty and scope of changes after they have been completed. Small (S)Characteristics:
Review Effort: Would have taken 5-10 minutes Examples:
Medium (M)Characteristics:
Review Effort: Would have taken 15-30 minutes Examples:
Large (L)Characteristics:
Review Effort: Would have taken 45+ minutes Examples:
Additional Factors to ConsiderWhen deciding between sizes, also consider:
Notes:
|
|
Tip For best results, initiate chat on the files or code changes. SIZE=S |
Moves
wasm-bindgen-utilsfrom0.0.11to0.1.2so downstream consumers (raindex, rain.metadata) resolve a single utils copy.0.0.xand0.1.xare semver-incompatible, so a mismatched tree otherwise produces two preludes and amissing try_from_js_value_refABI mismatch when raindex pullsFloatin.Changes
crates/float/Cargo.toml:wasm-bindgen-utils0.0.11→0.1.2.wasm-bindgen = "0.2.122"as a direct dependency.Cargo.lock: wasm-bindgen family0.2.100→0.2.122(utils 0.1.2 requires>=0.2.93);serdestays1.0.219.Why the direct wasm-bindgen dep
Without it, builds fail with an unbounded
recursion limit reached while expanding #[wasm_bindgen]on the opaque-class structs (Float,FromFixedDecimalLossyResult) — the compiler keeps suggestingrecursion_limit = "256" → 512 → 1024 …forever. The#[wasm_bindgen]macro emits::wasm_bindgenpaths; when the crate is only transitive those paths don't resolve and the macro re-expands without bound. Declaringwasm-bindgendirectly (asrain.metadata's cli crate already does) fixes it with no source changes and no recursion_limit hack.Verification
cargo checknative +wasm32-unknown-unknown: clean.cargo test -p rain-math-float: 76 + 36 tests pass.🤖 Generated with Claude Code
Summary by CodeRabbit