@@ -18,13 +18,15 @@ pub fn derive(item: syn::DeriveInput) -> Result<proc_macro2::TokenStream, Diagno
1818 let ( impl_generics, ..) = item. generics . split_for_impl ( ) ;
1919 let lifetimes = item. generics . lifetimes ( ) . collect :: < Vec < _ > > ( ) ;
2020 let ty_params = item. generics . type_params ( ) . collect :: < Vec < _ > > ( ) ;
21+ let const_params = item. generics . const_params ( ) . collect :: < Vec < _ > > ( ) ;
2122 let struct_ty = ty_for_foreign_derive ( & item, & flags) ?;
2223
2324 let tokens = sql_types. map ( |sql_type| {
2425 let lifetimes = & lifetimes;
2526 let ty_params = & ty_params;
27+ let const_params = & const_params;
2628 let tokens = quote ! (
27- impl <' expr, #( #lifetimes, ) * #( #ty_params, ) * > AsExpression <#sql_type>
29+ impl <' expr, #( #lifetimes, ) * #( #ty_params, ) * # ( #const_params , ) * > AsExpression <#sql_type>
2830 for & ' expr #struct_ty
2931 {
3032 type Expression = Bound <#sql_type, Self >;
@@ -34,7 +36,7 @@ pub fn derive(item: syn::DeriveInput) -> Result<proc_macro2::TokenStream, Diagno
3436 }
3537 }
3638
37- impl <' expr, #( #lifetimes, ) * #( #ty_params, ) * > AsExpression <Nullable <#sql_type>>
39+ impl <' expr, #( #lifetimes, ) * #( #ty_params, ) * # ( #const_params , ) * > AsExpression <Nullable <#sql_type>>
3840 for & ' expr #struct_ty
3941 {
4042 type Expression = Bound <Nullable <#sql_type>, Self >;
@@ -44,7 +46,7 @@ pub fn derive(item: syn::DeriveInput) -> Result<proc_macro2::TokenStream, Diagno
4446 }
4547 }
4648
47- impl <' expr2, ' expr, #( #lifetimes, ) * #( #ty_params, ) * > AsExpression <#sql_type>
49+ impl <' expr2, ' expr, #( #lifetimes, ) * #( #ty_params, ) * # ( #const_params , ) * > AsExpression <#sql_type>
4850 for & ' expr2 & ' expr #struct_ty
4951 {
5052 type Expression = Bound <#sql_type, Self >;
@@ -54,7 +56,7 @@ pub fn derive(item: syn::DeriveInput) -> Result<proc_macro2::TokenStream, Diagno
5456 }
5557 }
5658
57- impl <' expr2, ' expr, #( #lifetimes, ) * #( #ty_params, ) * > AsExpression <Nullable <#sql_type>>
59+ impl <' expr2, ' expr, #( #lifetimes, ) * #( #ty_params, ) * # ( #const_params , ) * > AsExpression <Nullable <#sql_type>>
5860 for & ' expr2 & ' expr #struct_ty
5961 {
6062 type Expression = Bound <Nullable <#sql_type>, Self >;
@@ -64,7 +66,7 @@ pub fn derive(item: syn::DeriveInput) -> Result<proc_macro2::TokenStream, Diagno
6466 }
6567 }
6668
67- impl <#( #lifetimes, ) * #( #ty_params, ) * __DB> diesel:: serialize:: ToSql <Nullable <#sql_type>, __DB>
69+ impl <#( #lifetimes, ) * #( #ty_params, ) * __DB, # ( #const_params , ) * > diesel:: serialize:: ToSql <Nullable <#sql_type>, __DB>
6870 for #struct_ty
6971 where
7072 __DB: diesel:: backend:: Backend ,
0 commit comments