From d03c747cfef277fda5823e08784c94c30c7f3964 Mon Sep 17 00:00:00 2001 From: HampusM Date: Sun, 19 Mar 2023 13:30:53 +0100 Subject: fix: allow trait generic param bounds --- macros/src/syn_ext.rs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'macros/src/syn_ext.rs') diff --git a/macros/src/syn_ext.rs b/macros/src/syn_ext.rs index 7a3e9ae..9b5b037 100644 --- a/macros/src/syn_ext.rs +++ b/macros/src/syn_ext.rs @@ -27,15 +27,28 @@ use syn::{ pub trait GenericsExt: Sized { - fn without_where_clause(self) -> Self; + fn strip_where_clause_and_bounds(self) -> Self; } impl GenericsExt for Generics { - fn without_where_clause(mut self) -> Self + fn strip_where_clause_and_bounds(mut self) -> Self { self.where_clause = None; + self.params = self + .params + .into_iter() + .map(|generic_param| match generic_param { + GenericParam::Type(mut type_param) => { + type_param.bounds.clear(); + + GenericParam::Type(type_param) + } + generic_param => generic_param, + }) + .collect(); + self } } -- cgit v1.2.3-18-g5258