X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=c-bindings-gen%2Fsrc%2Fmain.rs;h=bdd65e23c3b983c5301e15a14a62c0fcae187807;hb=6679050a1652d62712a873af0a4dee8382e63f99;hp=37b64a8574b06f77d1dc7333d69db2c7bc1e23c1;hpb=f8adf539c6ff1094dd40fb41ae29d056cad536b9;p=ldk-c-bindings diff --git a/c-bindings-gen/src/main.rs b/c-bindings-gen/src/main.rs index 37b64a8..bdd65e2 100644 --- a/c-bindings-gen/src/main.rs +++ b/c-bindings-gen/src/main.rs @@ -1922,6 +1922,11 @@ fn convert_file<'a, 'b>(libast: &'a FullLibraryAST, crate_types: &CrateTypes<'a> type_resolver.crate_types.priv_structs.get(&real_ty).map(|r| *r)).unwrap(); let mut resolved_generics = t.generics.clone(); + // Assume blindly that the bounds in the struct definition where + // clause matches any equivalent bounds on the type alias. + assert!(resolved_generics.where_clause.is_none()); + resolved_generics.where_clause = real_generic_bounds.where_clause.clone(); + if let syn::PathArguments::AngleBracketed(real_generics) = &p.path.segments.last().unwrap().arguments { for (real_idx, real_param) in real_generics.args.iter().enumerate() { if let syn::GenericArgument::Type(syn::Type::Path(real_param_path)) = real_param {