chiark / gitweb /
impl_via_ambassador: Support generics
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 14 May 2022 22:32:55 +0000 (23:32 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 14 May 2022 22:34:26 +0000 (23:34 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/utils.rs

index aea53ba274beac682b936da21ca5adef3d7fba6e..03e27a090e3a1464158a9e0804fcf062bc598bb8 100644 (file)
@@ -661,12 +661,15 @@ macro_rules! impl_via_ambassador{
   { 
     $(
       $( #[ $attr:meta ] )*
-      impl $Trait:ident for $Type:ty
+      impl $( [ $($generics:tt)* ] )? $Trait:ident for $Type:ty
+      $( where [ $($where:tt)* ] )?
       { $($how_immut:tt)* }
     )*
   } => { $( paste!{
     $( #[ $attr ] )*
-    impl $Trait for $Type {
+    impl $( < $($generics)* > )? $Trait for $Type
+    $( where $($where)* )?
+    {
       [< ambassador_impl_ $Trait >]!{ body_struct( <>, dyn $Trait,
           (),
           ($($how_immut)*),