diff --git a/perlmod-macro/src/function.rs b/perlmod-macro/src/function.rs index 7281aba..8f72c5b 100644 --- a/perlmod-macro/src/function.rs +++ b/perlmod-macro/src/function.rs @@ -320,7 +320,10 @@ fn handle_return_kind( }; let (cv_arg_name, cv_arg_passed) = if cv_arg { - (quote! { cv }, quote! { cv }) + ( + quote! { cv }, + quote! { ::perlmod::Value::from_raw_ref(cv as *mut ::perlmod::ffi::SV) }, + ) } else { (quote! { _cv }, TokenStream::new()) };