Skip to content

Commit d08d12a

Browse files
msdriggweiznich
authored andcommitted
Adding const-generics to AsExpression
Updating as_expression derivation to include const-generics
1 parent c557ab1 commit d08d12a

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

diesel_derives/src/as_expression.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)