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-Url: http://git.bitcoin.ninja/index.cgi?p=ldk-c-bindings;a=commitdiff_plain;h=6ed1b558662d61935026d14f63af8318305f175b 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 8825863..b1d6161 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) => {