From: Matt Corallo Date: Fri, 24 Jun 2022 01:18:00 +0000 (+0000) Subject: Correctly define the `native` type alias for enums with generic params X-Git-Tag: v0.0.108.0^2~20 X-Git-Url: http://git.bitcoin.ninja/?a=commitdiff_plain;h=f388c0d91e63a43899d3188370c4256ae0f2e7cb;p=ldk-c-bindings Correctly define the `native` type alias for enums with generic params --- diff --git a/c-bindings-gen/src/main.rs b/c-bindings-gen/src/main.rs index 279424e..b21c8d8 100644 --- a/c-bindings-gen/src/main.rs +++ b/c-bindings-gen/src/main.rs @@ -1661,7 +1661,10 @@ fn writeln_enum<'a, 'b, W: std::io::Write>(w: &mut W, e: &'a syn::ItemEnum, type writeln!(&mut constr, "}}").unwrap(); writeln!(w, ",").unwrap(); } - writeln!(w, "}}\nuse {}::{} as native{};\nimpl {} {{", types.module_path, e.ident, e.ident, e.ident).unwrap(); + writeln!(w, "}}\nuse {}::{} as {}Import;", types.module_path, e.ident, e.ident).unwrap(); + write!(w, "pub(crate) type native{} = {}Import", e.ident, e.ident).unwrap(); + maybe_write_generics(w, &e.generics, &types, true); + writeln!(w, ";\n\nimpl {} {{", e.ident).unwrap(); macro_rules! write_conv { ($fn_sig: expr, $to_c: expr, $ref: expr) => {