diff options
| author | Henry Gressmann <mail@henrygressmann.de> | 2025-05-06 20:14:50 +0200 |
|---|---|---|
| committer | Henry Gressmann <mail@henrygressmann.de> | 2025-05-06 20:14:50 +0200 |
| commit | 0f3581ef8fdb55ad21fdfd132eaefadaec242f85 (patch) | |
| tree | 2d9140bcadd0ef0c24aed3b397eb03cf5950abc6 /crates | |
| parent | e1b76386b7e323054d5e8844366ebad86bba693e (diff) | |
chore: update deps, update nightly
Signed-off-by: Henry Gressmann <mail@henrygressmann.de>
Diffstat (limited to 'crates')
| -rw-r--r-- | crates/cli/src/bin.rs | 2 | ||||
| -rw-r--r-- | crates/parser/src/lib.rs | 2 | ||||
| -rw-r--r-- | crates/parser/src/module.rs | 2 | ||||
| -rw-r--r-- | crates/parser/src/visit.rs | 15 | ||||
| -rw-r--r-- | crates/tinywasm/Cargo.toml | 2 | ||||
| -rw-r--r-- | crates/tinywasm/src/error.rs | 4 | ||||
| -rw-r--r-- | crates/tinywasm/src/func.rs | 2 | ||||
| -rw-r--r-- | crates/tinywasm/src/instance.rs | 4 | ||||
| -rw-r--r-- | crates/tinywasm/src/store/table.rs | 3 | ||||
| -rw-r--r-- | crates/tinywasm/tests/host_func_signature_check.rs | 2 | ||||
| -rw-r--r-- | crates/tinywasm/tests/testsuite/run.rs | 24 | ||||
| -rw-r--r-- | crates/types/src/archive.rs | 2 | ||||
| -rw-r--r-- | crates/types/src/value.rs | 4 |
13 files changed, 42 insertions, 26 deletions
diff --git a/crates/cli/src/bin.rs b/crates/cli/src/bin.rs index 8c0fe93..d00848e 100644 --- a/crates/cli/src/bin.rs +++ b/crates/cli/src/bin.rs @@ -82,7 +82,7 @@ fn main() -> Result<()> { match args.nested { TinyWasmSubcommand::Run(Run { wasm_file, engine, args, func }) => { - debug!("args: {:?}", args); + debug!("args: {args:?}"); let path = cwd.join(wasm_file.clone()); let module = match wasm_file.ends_with(".wat") { diff --git a/crates/parser/src/lib.rs b/crates/parser/src/lib.rs index aa33995..f0196b6 100644 --- a/crates/parser/src/lib.rs +++ b/crates/parser/src/lib.rs @@ -83,6 +83,8 @@ impl Parser { cm_nested_names: false, cm_values: false, cm_error_context: false, + cm_fixed_size_list: false, + cm_gc: false, }; Validator::new_with_features(features.into()) } diff --git a/crates/parser/src/module.rs b/crates/parser/src/module.rs index 0e17ad9..3a3becd 100644 --- a/crates/parser/src/module.rs +++ b/crates/parser/src/module.rs @@ -125,7 +125,7 @@ impl ModuleReader { self.code_type_addrs = reader.into_iter().map(|f| Ok(f?)).collect::<Result<Vec<_>>>()?; } CodeSectionStart { count, range, .. } => { - debug!("Found code section ({} functions)", count); + debug!("Found code section ({count} functions)"); if !self.code.is_empty() { return Err(ParseError::DuplicateSection("Code section".into())); } diff --git a/crates/parser/src/visit.rs b/crates/parser/src/visit.rs index 10005c0..1635d2d 100644 --- a/crates/parser/src/visit.rs +++ b/crates/parser/src/visit.rs @@ -453,6 +453,21 @@ impl<'a, R: WasmModuleResources> wasmparser::VisitOperator<'a> for FunctionBuild self.instructions.push(Instruction::RefIsNull); } + fn visit_typed_select_multi(&mut self, _tys: Vec<wasmparser::ValType>) -> Self::Output { + self.errors.push(crate::ParseError::UnsupportedOperator( + "Typed select with multiple types is not supported".to_string(), + )); + + // self.instructions.extend(tys.into_iter().map(|ty| match ty { + // wasmparser::ValType::I32 => Instruction::Select32, + // wasmparser::ValType::F32 => Instruction::Select32, + // wasmparser::ValType::I64 => Instruction::Select64, + // wasmparser::ValType::F64 => Instruction::Select64, + // wasmparser::ValType::V128 => Instruction::Select128, + // wasmparser::ValType::Ref(_) => Instruction::SelectRef, + // })); + } + fn visit_typed_select(&mut self, ty: wasmparser::ValType) -> Self::Output { self.instructions.push(match ty { wasmparser::ValType::I32 => Instruction::Select32, diff --git a/crates/tinywasm/Cargo.toml b/crates/tinywasm/Cargo.toml index 10a3099..427b45e 100644 --- a/crates/tinywasm/Cargo.toml +++ b/crates/tinywasm/Cargo.toml @@ -20,7 +20,7 @@ tinywasm-types={version="0.9.0-alpha.0", path="../types", default-features=false libm={version="0.2", default-features=false} [dev-dependencies] -wasm-testsuite={version="0.5.3"} +wasm-testsuite={version="0.5.4"} indexmap="2.7" wast={workspace=true} wat={workspace=true} diff --git a/crates/tinywasm/src/error.rs b/crates/tinywasm/src/error.rs index 9637521..fcaac1a 100644 --- a/crates/tinywasm/src/error.rs +++ b/crates/tinywasm/src/error.rs @@ -211,9 +211,9 @@ impl Display for Error { impl Display for LinkingError { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { match self { - Self::UnknownImport { module, name } => write!(f, "unknown import: {}.{}", module, name), + Self::UnknownImport { module, name } => write!(f, "unknown import: {module}.{name}"), Self::IncompatibleImportType { module, name } => { - write!(f, "incompatible import type: {}.{}", module, name) + write!(f, "incompatible import type: {module}.{name}") } } } diff --git a/crates/tinywasm/src/func.rs b/crates/tinywasm/src/func.rs index 2eeabca..642377a 100644 --- a/crates/tinywasm/src/func.rs +++ b/crates/tinywasm/src/func.rs @@ -39,7 +39,7 @@ impl FuncHandle { // 5. For each value type and the corresponding value, check if types match if !(func_ty.params.iter().zip(params).enumerate().all(|(_i, (ty, param))| { if ty != ¶m.val_type() { - log::error!("param type mismatch at index {}: expected {:?}, got {:?}", _i, ty, param); + log::error!("param type mismatch at index {_i}: expected {ty:?}, got {param:?}"); false } else { true diff --git a/crates/tinywasm/src/instance.rs b/crates/tinywasm/src/instance.rs index eebf5ff..9a0d1e2 100644 --- a/crates/tinywasm/src/instance.rs +++ b/crates/tinywasm/src/instance.rs @@ -192,7 +192,7 @@ impl ModuleInstance { pub fn exported_memory<'a>(&self, store: &'a mut Store, name: &str) -> Result<MemoryRef<'a>> { let export = self.export_addr(name).ok_or_else(|| Error::Other(format!("Export not found: {name}")))?; let ExternVal::Memory(mem_addr) = export else { - return Err(Error::Other(format!("Export is not a memory: {}", name))); + return Err(Error::Other(format!("Export is not a memory: {name}"))); }; self.memory(store, mem_addr) @@ -202,7 +202,7 @@ impl ModuleInstance { pub fn exported_memory_mut<'a>(&self, store: &'a mut Store, name: &str) -> Result<MemoryRefMut<'a>> { let export = self.export_addr(name).ok_or_else(|| Error::Other(format!("Export not found: {name}")))?; let ExternVal::Memory(mem_addr) = export else { - return Err(Error::Other(format!("Export is not a memory: {}", name))); + return Err(Error::Other(format!("Export is not a memory: {name}"))); }; self.memory_mut(store, mem_addr) diff --git a/crates/tinywasm/src/store/table.rs b/crates/tinywasm/src/store/table.rs index f83de9b..6192119 100644 --- a/crates/tinywasm/src/store/table.rs +++ b/crates/tinywasm/src/store/table.rs @@ -250,8 +250,7 @@ mod tests { let elem = table_instance.get(i); assert!( elem.is_ok() && matches!(elem.unwrap(), &TableElement::Initialized(_)), - "Element not initialized correctly at index {}", - i + "Element not initialized correctly at index {i}" ); } } diff --git a/crates/tinywasm/tests/host_func_signature_check.rs b/crates/tinywasm/tests/host_func_signature_check.rs index 698ad61..9389435 100644 --- a/crates/tinywasm/tests/host_func_signature_check.rs +++ b/crates/tinywasm/tests/host_func_signature_check.rs @@ -147,7 +147,7 @@ fn proxy_module(func_ty: &FuncType) -> Module { let params_text = join_surround(params, "param"); let params_gets: String = params.iter().enumerate().fold(String::new(), |mut acc, (num, _)| { - let _ = writeln!(acc, "(local.get {num})", num = num); + let _ = writeln!(acc, "(local.get {num})"); acc }); diff --git a/crates/tinywasm/tests/testsuite/run.rs b/crates/tinywasm/tests/testsuite/run.rs index d09efdb..c46a276 100644 --- a/crates/tinywasm/tests/testsuite/run.rs +++ b/crates/tinywasm/tests/testsuite/run.rs @@ -31,7 +31,7 @@ impl ModuleRegistry { } } fn register(&mut self, name: String, addr: ModuleInstanceAddr) { - log::debug!("registering module: {}", name); + log::debug!("registering module: {name}"); self.modules.insert(name.clone(), addr); self.last_module = Some(addr); @@ -99,22 +99,22 @@ impl TestSuite { }); let print_i32 = Extern::typed_func(|_ctx: tinywasm::FuncContext, arg: i32| { - log::debug!("print_i32: {}", arg); + log::debug!("print_i32: {arg}"); Ok(()) }); let print_i64 = Extern::typed_func(|_ctx: tinywasm::FuncContext, arg: i64| { - log::debug!("print_i64: {}", arg); + log::debug!("print_i64: {arg}"); Ok(()) }); let print_f32 = Extern::typed_func(|_ctx: tinywasm::FuncContext, arg: f32| { - log::debug!("print_f32: {}", arg); + log::debug!("print_f32: {arg}"); Ok(()) }); let print_f64 = Extern::typed_func(|_ctx: tinywasm::FuncContext, arg: f64| { - log::debug!("print_f64: {}", arg); + log::debug!("print_f64: {arg}"); Ok(()) }); @@ -148,7 +148,7 @@ impl TestSuite { .define("spectest", "print_f64_f64", print_f64_f64)?; for (name, addr) in modules { - log::debug!("registering module: {}", name); + log::debug!("registering module: {name}"); imports.link_module(name, *addr)?; } @@ -158,7 +158,7 @@ impl TestSuite { pub fn run_files<'a>(&mut self, tests: impl IntoIterator<Item = TestFile<'a>>) -> Result<()> { tests.into_iter().for_each(|group| { let name = group.name(); - println!("running group: {}", name); + println!("running group: {name}"); if self.1.contains(&name.to_string()) { info!("skipping group: {name}"); self.test_group(&format!("{name} (skipped)"), name); @@ -217,7 +217,7 @@ impl TestSuite { .map_err(|e| eyre!("failed to parse wat module: {:?}", try_downcast_panic(e))); match &result { - Err(err) => debug!("failed to parse module: {:?}", err), + Err(err) => debug!("failed to parse module: {err:?}"), Ok((name, module)) => module_registry.update_last_module(module.id(), name.clone()), }; @@ -402,7 +402,7 @@ impl TestSuite { let args = convert_wastargs(invoke.args)?; let module = module_registry.get_idx(invoke.module); exec_fn_instance(module, &mut store, invoke.name, &args).map_err(|e| { - error!("failed to execute function: {:?}", e); + error!("failed to execute function: {e:?}"); e })?; Ok(()) @@ -413,7 +413,7 @@ impl TestSuite { } AssertReturn { span, exec, results } => { - info!("AssertReturn: {:?}", exec); + info!("AssertReturn: {exec:?}"); let expected = match convert_wastret(results.into_iter()) { Err(err) => { test_group.add_result( @@ -489,11 +489,11 @@ impl TestSuite { let invoke_name = invoke.name; let res: Result<Result<()>, _> = catch_unwind_silent(|| { - debug!("invoke: {:?}", invoke); + debug!("invoke: {invoke:?}"); let args = convert_wastargs(invoke.args)?; let module = module_registry.get_idx(invoke.module); let outcomes = exec_fn_instance(module, &mut store, invoke.name, &args).map_err(|e| { - error!("failed to execute function: {:?}", e); + error!("failed to execute function: {e:?}"); e })?; diff --git a/crates/types/src/archive.rs b/crates/types/src/archive.rs index cbc22ad..b190d43 100644 --- a/crates/types/src/archive.rs +++ b/crates/types/src/archive.rs @@ -37,7 +37,7 @@ impl Display for TwasmError { TwasmError::InvalidMagic => write!(f, "Invalid twasm: invalid magic number"), TwasmError::InvalidVersion => write!(f, "Invalid twasm: invalid version"), TwasmError::InvalidPadding => write!(f, "Invalid twasm: invalid padding"), - TwasmError::InvalidArchive(e) => write!(f, "Invalid twasm: {}", e), + TwasmError::InvalidArchive(e) => write!(f, "Invalid twasm: {e}"), } } } diff --git a/crates/types/src/value.rs b/crates/types/src/value.rs index a9498cc..b68836b 100644 --- a/crates/types/src/value.rs +++ b/crates/types/src/value.rs @@ -32,7 +32,7 @@ pub struct FuncRef(Option<FuncAddr>); impl Debug for ExternRef { fn fmt(&self, f: &mut alloc::fmt::Formatter<'_>) -> alloc::fmt::Result { match self.0 { - Some(addr) => write!(f, "extern({:?})", addr), + Some(addr) => write!(f, "extern({addr:?})"), None => write!(f, "extern(null)"), } } @@ -41,7 +41,7 @@ impl Debug for ExternRef { impl Debug for FuncRef { fn fmt(&self, f: &mut alloc::fmt::Formatter<'_>) -> alloc::fmt::Result { match self.0 { - Some(addr) => write!(f, "func({:?})", addr), + Some(addr) => write!(f, "func({addr:?})"), None => write!(f, "func(null)"), } } |
