diff options
Diffstat (limited to 'crates/parser')
| -rw-r--r-- | crates/parser/Cargo.toml | 2 | ||||
| -rw-r--r-- | crates/parser/src/lib.rs | 1 | ||||
| -rw-r--r-- | crates/parser/src/visit.rs | 10 |
3 files changed, 7 insertions, 6 deletions
diff --git a/crates/parser/Cargo.toml b/crates/parser/Cargo.toml index fa16664..aa2f589 100644 --- a/crates/parser/Cargo.toml +++ b/crates/parser/Cargo.toml @@ -9,7 +9,7 @@ repository.workspace=true rust-version.workspace=true [dependencies] -wasmparser={version="0.217", default-features=false, features=["validate", "features"]} +wasmparser={version="0.218", default-features=false, features=["validate", "features"]} log={workspace=true, optional=true} tinywasm-types={version="0.8.0-alpha.0", path="../types", default-features=false} diff --git a/crates/parser/src/lib.rs b/crates/parser/src/lib.rs index 8c68c64..e736576 100644 --- a/crates/parser/src/lib.rs +++ b/crates/parser/src/lib.rs @@ -66,6 +66,7 @@ impl Parser { custom_page_sizes: true, gc_types: true, + stack_switching: false, component_model: false, component_model_nested_names: false, component_model_values: false, diff --git a/crates/parser/src/visit.rs b/crates/parser/src/visit.rs index 4e39a5a..c9e5eac 100644 --- a/crates/parser/src/visit.rs +++ b/crates/parser/src/visit.rs @@ -8,7 +8,7 @@ use wasmparser::{FuncValidator, FuncValidatorAllocations, FunctionBody, VisitOpe struct ValidateThenVisit<'a, R: WasmModuleResources>(usize, &'a mut FunctionBuilder<R>); macro_rules! validate_then_visit { - ($( @$proposal:ident $op:ident $({ $($arg:ident: $argty:ty),* })? => $visit:ident)*) => {$( + ($( @$proposal:ident $op:ident $({ $($arg:ident: $argty:ty),* })? => $visit:ident ($($ann:tt)*))*) => {$( fn $visit(&mut self $($(,$arg: $argty)*)?) -> Self::Output { self.1.$visit($($($arg.clone()),*)?); self.1.validator_visitor(self.0).$visit($($($arg),*)?)?; @@ -118,8 +118,8 @@ impl<R: WasmModuleResources> FunctionBuilder<R> { } macro_rules! impl_visit_operator { - ($(@$proposal:ident $op:ident $({ $($arg:ident: $argty:ty),* })? => $visit:ident)*) => { - $(impl_visit_operator!(@@$proposal $op $({ $($arg: $argty),* })? => $visit);)* + ($(@$proposal:ident $op:ident $({ $($arg:ident: $argty:ty),* })? => $visit:ident ($($ann:tt)*))*) => { + $(impl_visit_operator!(@@$proposal $op $({ $($arg: $argty),* })? => $visit ($($ann:tt)*));)* }; (@@mvp $($rest:tt)* ) => {}; @@ -129,7 +129,7 @@ macro_rules! impl_visit_operator { (@@bulk_memory $($rest:tt)* ) => {}; (@@tail_call $($rest:tt)* ) => {}; // (@@simd $($rest:tt)* ) => {}; - (@@$proposal:ident $op:ident $({ $($arg:ident: $argty:ty),* })? => $visit:ident) => { + (@@$proposal:ident $op:ident $({ $($arg:ident: $argty:ty),* })? => $visit:ident ($($ann:tt)*)) => { #[cold] fn $visit(&mut self $($(,$arg: $argty)*)?) { self.unsupported(stringify!($visit)) @@ -137,7 +137,7 @@ macro_rules! impl_visit_operator { }; } -impl<'a, R: WasmModuleResources> wasmparser::VisitOperator<'a> for FunctionBuilder<R> { +impl<R: WasmModuleResources> wasmparser::VisitOperator<'_> for FunctionBuilder<R> { type Output = (); wasmparser::for_each_operator!(impl_visit_operator); |
