macro_rules! impl_st {
    ([ $($rgenerics:tt)* ] $rty:ty, $ts:ident => $stty:expr) => { ... };
}
Expand description

Implements SpacetimeType for a type in a simplified manner.

An example:

struct Foo<'a, T>(&'a T, u8);
impl_st!(
//     Type parameters      Impl type
//            v                 v
//   --------------------  ----------
    ['a, T: SpacetimeType] Foo<'a, T>,
//  The `make_type` implementation where `ts: impl TypespaceBuilder`
//  and the expression right of `=>` is an `AlgebraicType`.
    ts => AlgebraicType::product([T::make_type(ts), AlgebraicType::U8])
);