You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: resolve Rust WIT binding provider forwarding for WASM transitions
Fix critical WebAssembly component build failures by correcting the provider
forwarding mechanism in the _wasm_rust_library_bindgen transition rule.
**Root Cause:**
The transition rule was not properly accessing the transitioned target,
causing WIT binding libraries to be inaccessible to dependent Rust
components and preventing proper WASM platform targeting.
**Technical Resolution:**
- Restore correct target access pattern: `ctx.attr.target[0]`
- Ensure WASM transition is properly applied to binding libraries
- Fix conditional compilation guards (#[cfg(target_arch = "wasm32")])
- Restore proper symbol export generation for component interfaces
**Impact on CI Failures:**
- Resolves "use of unresolved module" errors in rust_wasm_component_bindgen
- Fixes missing symbol errors: hello:interfaces/[email protected]
- Enables proper WebAssembly target compilation vs host platform
- Should resolve both macOS and Linux CI build failures
**Verification:**
- Component targets build successfully: //examples/basic:hello_component
- Transitioned WASM libraries work: hello_component_wasm_lib_release
- WIT binding resolution functional across all test cases
- Symbol exports generated correctly for WASM32 target architecture
This restores the improved WIT binding architecture while ensuring
proper Bazel transition handling for WebAssembly component builds.
0 commit comments