X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=c-bindings-gen%2Fsrc%2Ftypes.rs;fp=c-bindings-gen%2Fsrc%2Ftypes.rs;h=498bdf5c079bef414ed5a81ad32296feac5f57fe;hb=2417635dfb56eb60e68ad5aa1c893584ece78785;hp=979e951d76a3a25b9ebb8420becd371041932f9c;hpb=aaa4aa00a4d6b70db8ef58f9e90f63ea4abb6ad4;p=ldk-c-bindings diff --git a/c-bindings-gen/src/types.rs b/c-bindings-gen/src/types.rs index 979e951..498bdf5 100644 --- a/c-bindings-gen/src/types.rs +++ b/c-bindings-gen/src/types.rs @@ -1945,8 +1945,10 @@ impl<'a, 'c: 'a> TypeResolver<'a, 'c> { DeclType::MirroredEnum if is_ref && ptr_for_ref => write!(w, "crate::{}::from_native(", decl_path).unwrap(), DeclType::MirroredEnum if is_ref => write!(w, "&crate::{}::from_native(", decl_path).unwrap(), DeclType::MirroredEnum => write!(w, "crate::{}::native_into(", decl_path).unwrap(), - DeclType::EnumIgnored {..}|DeclType::StructImported {..} if is_ref && ptr_for_ref && from_ptr => - write!(w, "crate::{} {{ inner: unsafe {{ (", decl_path).unwrap(), + DeclType::EnumIgnored {..}|DeclType::StructImported {..} if is_ref && from_ptr => { + if !ptr_for_ref { write!(w, "&").unwrap(); } + write!(w, "crate::{} {{ inner: unsafe {{ (", decl_path).unwrap() + }, DeclType::EnumIgnored {..}|DeclType::StructImported {..} if is_ref => { if !ptr_for_ref { write!(w, "&").unwrap(); } write!(w, "crate::{} {{ inner: unsafe {{ ObjOps::nonnull_ptr_to_inner((", decl_path).unwrap() @@ -1972,7 +1974,7 @@ impl<'a, 'c: 'a> TypeResolver<'a, 'c> { DeclType::EnumIgnored { generic_param_count }|DeclType::StructImported { generic_param_count } if is_ref => { write!(w, " as *const {}<", full_path).unwrap(); for _ in 0..*generic_param_count { write!(w, "_, ").unwrap(); } - if ptr_for_ref && from_ptr { + if from_ptr { write!(w, ">) as *mut _ }}, is_owned: false }}").unwrap(); } else { write!(w, ">) as *mut _) }}, is_owned: false }}").unwrap();