From 94467bcd9aa45980a6dac0add9a5d5c12a8f7b27 Mon Sep 17 00:00:00 2001 From: Pat Hickey Date: Mon, 11 Jan 2021 18:03:48 -0800 Subject: [PATCH] wiggle: bugfix, generated code should use Names::runtime_mod not wiggle as the crate from which these deps come. I worked around this in lucet, but I'll be able to revert that workaround. --- crates/wiggle/generate/src/funcs.rs | 4 ++-- crates/wiggle/generate/src/lib.rs | 2 +- crates/wiggle/generate/src/module_trait.rs | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/crates/wiggle/generate/src/funcs.rs b/crates/wiggle/generate/src/funcs.rs index 5cdf59eda0..50f5eec640 100644 --- a/crates/wiggle/generate/src/funcs.rs +++ b/crates/wiggle/generate/src/funcs.rs @@ -169,7 +169,7 @@ pub fn define_func( let func_name = &func.name.as_str(); if func.noreturn { - quote!(pub fn #ident(#abi_args) -> Result<#abi_ret, wiggle::Trap> { + quote!(pub fn #ident(#abi_args) -> Result<#abi_ret, #rt::Trap> { let _span = #rt::tracing::span!( #rt::tracing::Level::TRACE, "wiggle abi", @@ -184,7 +184,7 @@ pub fn define_func( Err(trap) }) } else { - quote!(pub fn #ident(#abi_args) -> Result<#abi_ret, wiggle::Trap> { + quote!(pub fn #ident(#abi_args) -> Result<#abi_ret, #rt::Trap> { let _span = #rt::tracing::span!( #rt::tracing::Level::TRACE, "wiggle abi", diff --git a/crates/wiggle/generate/src/lib.rs b/crates/wiggle/generate/src/lib.rs index 1ba4b6ebae..b9a07f93ce 100644 --- a/crates/wiggle/generate/src/lib.rs +++ b/crates/wiggle/generate/src/lib.rs @@ -40,7 +40,7 @@ pub fn generate(doc: &witx::Document, names: &Names, errs: &ErrorTransform) -> T let abi_typename = names.type_ref(&errtype.abi_type(), anon_lifetime()); let user_typename = errtype.typename(); let methodname = names.user_error_conversion_method(&errtype); - quote!(fn #methodname(&self, e: super::#user_typename) -> Result<#abi_typename, wiggle::Trap>;) + quote!(fn #methodname(&self, e: super::#user_typename) -> Result<#abi_typename, #rt::Trap>;) }); let user_error_conversion = quote! { pub trait UserErrorConversion { diff --git a/crates/wiggle/generate/src/module_trait.rs b/crates/wiggle/generate/src/module_trait.rs index e42551a70b..a7a7289d09 100644 --- a/crates/wiggle/generate/src/module_trait.rs +++ b/crates/wiggle/generate/src/module_trait.rs @@ -69,7 +69,8 @@ pub fn define_module_trait(names: &Names, m: &Module, errxform: &ErrorTransform) .unwrap_or(quote!(())); quote!( Result<(#(#rets),*), #err> ) } else { - quote!(wiggle::Trap) + let rt = names.runtime_mod(); + quote!(#rt::Trap) }; if is_anonymous {