allow deriving bundle for struct with generics with where clause (#1811)
fixes #1777 Seems the `_where_clause` parameter to lost somewhere, adding it back
This commit is contained in:
parent
9098df3034
commit
3e285d5c0b
@ -141,12 +141,12 @@ pub fn derive_bundle(input: TokenStream) -> TokenStream {
|
|||||||
}
|
}
|
||||||
let field_len = field.len();
|
let field_len = field.len();
|
||||||
let generics = ast.generics;
|
let generics = ast.generics;
|
||||||
let (impl_generics, ty_generics, _where_clause) = generics.split_for_impl();
|
let (impl_generics, ty_generics, where_clause) = generics.split_for_impl();
|
||||||
let struct_name = &ast.ident;
|
let struct_name = &ast.ident;
|
||||||
|
|
||||||
TokenStream::from(quote! {
|
TokenStream::from(quote! {
|
||||||
/// SAFE: TypeInfo is returned in field-definition-order. [from_components] and [get_components] use field-definition-order
|
/// SAFE: TypeInfo is returned in field-definition-order. [from_components] and [get_components] use field-definition-order
|
||||||
unsafe impl #impl_generics #ecs_path::bundle::Bundle for #struct_name#ty_generics {
|
unsafe impl #impl_generics #ecs_path::bundle::Bundle for #struct_name#ty_generics #where_clause {
|
||||||
fn type_info() -> Vec<#ecs_path::component::TypeInfo> {
|
fn type_info() -> Vec<#ecs_path::component::TypeInfo> {
|
||||||
let mut type_info = Vec::with_capacity(#field_len);
|
let mut type_info = Vec::with_capacity(#field_len);
|
||||||
#(#field_type_infos)*
|
#(#field_type_infos)*
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user