impl_via_ambassador!{
#[dyn_upcast]
impl OutlineTrait for Piece { inner() }
-}
-#[dyn_upcast]
-impl PieceBaseTrait for Piece {
- ambassador_impl_PieceBaseTrait! {body_struct(<>, _, (), (inner()), ())}
-}
-#[typetag::serde(name="FastSplit")]
-impl PieceTrait for Piece {
- ambassador_impl_PieceTrait! {body_struct(<>, _, (), (inner()), ())}
+ #[dyn_upcast]
+ impl PieceBaseTrait for Piece { inner() }
+
+ #[typetag::serde(name="FastSplit")]
+ impl PieceTrait for Piece { inner() }
}
impl Record {
#[macro_export]
macro_rules! impl_via_ambassador{
{
- $( #[ $attr:meta ] )*
- impl $Trait:ident for $Type:ty
- { $($how_immut:tt)* }
- } => { paste!{
+ $(
+ $( #[ $attr:meta ] )*
+ impl $Trait:ident for $Type:ty
+ { $($how_immut:tt)* }
+ )*
+ } => { $( paste!{
$( #[ $attr ] )*
impl $Trait for $Type {
[< ambassador_impl_ $Trait >]!{ body_struct( <>, dyn $Trait,
()
) }
}
- } }
+ } )* }
}
#[macro_export]