Skip to content

Commit d9e8389

Browse files
committed
fix(build-core): resolve mutable reference issues in WAST test runner
Fix compilation errors in the WAST test runner where module.encode() requires mutable references but the function signature only accepted immutable references. Changes: - Updated execute_directive to accept &mut WastDirective instead of &WastDirective - Changed wast.directives.iter() to iter_mut() to provide mutable references - Made wast variable mutable in run_wast_content function This allows the encode() method to be called successfully on WAST modules, resolving the "cannot borrow as mutable" compilation errors.
1 parent 05b01de commit d9e8389

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

wrt-build-core/src/wast_test_runner.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,12 +141,12 @@ impl WastTestRunner {
141141
pub fn run_wast_content(&mut self, content: &str, source_name: Option<&str>) -> Result<()> {
142142
let buf = ParseBuffer::new(content).context("Failed to create parse buffer")?;
143143

144-
let wast: Wast = parser::parse(&buf).context("Failed to parse WAST content")?;
144+
let mut wast: Wast = parser::parse(&buf).context("Failed to parse WAST content")?;
145145

146146
let mut engine = WastEngine::new()?;
147147
let source = source_name.unwrap_or("inline");
148148

149-
for (directive_idx, directive) in wast.directives.iter().enumerate() {
149+
for (directive_idx, directive) in wast.directives.iter_mut().enumerate() {
150150
self.stats.total_directives += 1;
151151

152152
match self.execute_directive(&mut engine, directive, directive_idx, source) {
@@ -172,7 +172,7 @@ impl WastTestRunner {
172172
fn execute_directive(
173173
&mut self,
174174
engine: &mut WastEngine,
175-
directive: &WastDirective,
175+
directive: &mut WastDirective,
176176
directive_idx: usize,
177177
source: &str,
178178
) -> Result<()> {

0 commit comments

Comments
 (0)