diff --git a/Cargo.lock b/Cargo.lock index 2ea78d53f..259c7bfca 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1488,7 +1488,6 @@ dependencies = [ "proc-macro2", "quote", "syn", - "wasmparser 0.248.0", ] [[package]] @@ -1501,7 +1500,7 @@ dependencies = [ "quote", "syn", "tracing", - "wasmparser 0.248.0", + "wasmparser 0.249.0", ] [[package]] @@ -4219,9 +4218,9 @@ dependencies = [ [[package]] name = "wasmparser" -version = "0.248.0" +version = "0.249.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa4439c5eee9df71ee0c6efb37f63b1fcb1fec38f85f5142c54e7ed05d33091a" +checksum = "30538cae9a794215f490b532df01c557e2e2bfac92569482554acd0992a102ea" dependencies = [ "bitflags 2.11.1", "hashbrown 0.17.0", diff --git a/src/hyperlight_component_macro/Cargo.toml b/src/hyperlight_component_macro/Cargo.toml index e5d531207..6800a06fd 100644 --- a/src/hyperlight_component_macro/Cargo.toml +++ b/src/hyperlight_component_macro/Cargo.toml @@ -16,7 +16,6 @@ name = "hyperlight_component_macro" proc-macro = true [dependencies] -wasmparser = { version = "0.248.0" } quote = { version = "1.0.45" } proc-macro2 = { version = "1.0.106" } syn = { version = "2.0.117" } diff --git a/src/hyperlight_component_util/Cargo.toml b/src/hyperlight_component_util/Cargo.toml index a12192c81..f4596d650 100644 --- a/src/hyperlight_component_util/Cargo.toml +++ b/src/hyperlight_component_util/Cargo.toml @@ -15,7 +15,7 @@ Shared implementation for the procedural macros that generate Hyperlight host an name = "hyperlight_component_util" [dependencies] -wasmparser = { version = "0.248.0" } +wasmparser = { version = "0.249.0" } quote = { version = "1.0.45" } proc-macro2 = { version = "1.0.106" } syn = { version = "2.0.117" } diff --git a/src/hyperlight_component_util/src/component.rs b/src/hyperlight_component_util/src/component.rs index 92910e223..55fbc333c 100644 --- a/src/hyperlight_component_util/src/component.rs +++ b/src/hyperlight_component_util/src/component.rs @@ -20,8 +20,8 @@ use wasmparser::Payload::{ ComponentAliasSection, ComponentExportSection, ComponentTypeSection, Version, }; use wasmparser::{ - ComponentAlias, ComponentExternalKind, ComponentOuterAliasKind, ComponentType, - ComponentTypeRef, Payload, + ComponentAlias, ComponentExternName, ComponentExternalKind, ComponentOuterAliasKind, + ComponentType, ComponentTypeRef, Payload, }; use crate::etypes::{Component, Ctx, Defined}; @@ -118,7 +118,7 @@ pub fn read_component_single_exported_type<'a>( // picks the world index if world_name is passed in the proc_macro // else picks the index of last type, exported by core module if let Some(world) = world_name.as_ref() { - let name = ce.name.0; + let ComponentExternName { name, .. } = ce.name; if name.eq_ignore_ascii_case(world) { selected_type_idx = Some(ctx.types.len() - 1); } diff --git a/src/hyperlight_component_util/src/elaborate.rs b/src/hyperlight_component_util/src/elaborate.rs index 1fe7e232f..d24191946 100644 --- a/src/hyperlight_component_util/src/elaborate.rs +++ b/src/hyperlight_component_util/src/elaborate.rs @@ -24,10 +24,10 @@ limitations under the License. //! substitute.rs for more details of the approach here). use wasmparser::{ - ComponentAlias, ComponentDefinedType, ComponentFuncType, ComponentOuterAliasKind, - ComponentType, ComponentTypeDeclaration, ComponentTypeRef, ComponentValType, - CompositeInnerType, CoreType, InstanceTypeDeclaration, ModuleTypeDeclaration, OuterAliasKind, - PrimitiveValType, TypeBounds, TypeRef, + ComponentAlias, ComponentDefinedType, ComponentExternName, ComponentFuncType, + ComponentOuterAliasKind, ComponentType, ComponentTypeDeclaration, ComponentTypeRef, + ComponentValType, CompositeInnerType, CoreType, InstanceTypeDeclaration, ModuleTypeDeclaration, + OuterAliasKind, PrimitiveValType, TypeBounds, TypeRef, }; use crate::etypes::{ @@ -536,13 +536,19 @@ impl<'p, 'a> Ctx<'p, 'a> { self.add_core_or_component_ed(ed); Ok(None) } - InstanceTypeDeclaration::Export { name, ty } => { + InstanceTypeDeclaration::Export { + name: export_name, + ty, + } => { + let ComponentExternName { + name: kebab_name, .. + } = *export_name; let (vs, ed) = self.elab_extern_desc(ty)?; - let sub = self.bound_to_evars(Some(name.0), &vs); + let sub = self.bound_to_evars(Some(kebab_name), &vs); let ed = sub.extern_desc(&ed).not_void(); self.add_ed(&ed); Ok(Some(ExternDecl { - kebab_name: name.0, + kebab_name, desc: ed, })) } @@ -634,27 +640,37 @@ impl<'p, 'a> Ctx<'p, 'a> { self.add_core_or_component_ed(ed); Ok((None, None)) } - ComponentTypeDeclaration::Export { name, ty, .. } => { + ComponentTypeDeclaration::Export { + name: export_name, + ty, + .. + } => { + let ComponentExternName { + name: kebab_name, .. + } = *export_name; let (vs, ed) = self.elab_extern_desc(ty)?; - let sub = self.bound_to_evars(Some(name.0), &vs); + let sub = self.bound_to_evars(Some(kebab_name), &vs); let ed = sub.extern_desc(&ed).not_void(); self.add_ed(&ed); Ok(( None, Some(ExternDecl { - kebab_name: name.0, + kebab_name, desc: ed, }), )) } ComponentTypeDeclaration::Import(i) => { + let ComponentExternName { + name: kebab_name, .. + } = i.name; let (vs, ed) = self.elab_extern_desc(&i.ty)?; - let sub = self.bound_to_uvars(Some(i.name.0), &vs, true); + let sub = self.bound_to_uvars(Some(kebab_name), &vs, true); let ed = sub.extern_desc(&ed).not_void(); self.add_ed(&ed); Ok(( Some(ExternDecl { - kebab_name: i.name.0, + kebab_name, desc: ed, }), None, diff --git a/src/tests/rust_guests/witguest/Cargo.lock b/src/tests/rust_guests/witguest/Cargo.lock index 7664466b2..be4530380 100644 --- a/src/tests/rust_guests/witguest/Cargo.lock +++ b/src/tests/rust_guests/witguest/Cargo.lock @@ -264,7 +264,6 @@ dependencies = [ "proc-macro2", "quote", "syn", - "wasmparser", ] [[package]] @@ -783,9 +782,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "wasmparser" -version = "0.248.0" +version = "0.249.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa4439c5eee9df71ee0c6efb37f63b1fcb1fec38f85f5142c54e7ed05d33091a" +checksum = "30538cae9a794215f490b532df01c557e2e2bfac92569482554acd0992a102ea" dependencies = [ "bitflags", "hashbrown",