shorter_bounds/
lib.rs

1#![doc = include_str!("../README.md")]
2#![no_std]
3
4/// See [crate docs](`crate`).
5#[macro_export]
6macro_rules! alias {
7    (
8        $(#[$attr:meta])*
9        $vis:vis
10        trait
11        $alias:ident
12        $(< $(
13            $tparam:ident
14            $( : ( $( $tparam_bound:tt )+ ) )?
15        ),+ $(,)? >)?
16        : $( $bounds:tt )+
17    ) => {
18        $(#[$attr])*
19        $vis trait $alias $( < $(
20            $tparam
21            $( : $($tparam_bound)+)?
22        ),+ > )?
23        : $( $bounds )+
24        { }
25
26        impl<__Self, $( $(
27            $tparam
28            $( : $($tparam_bound)+)?
29        ),+ )?>
30        $alias $( < $( $tparam ),+ > )?
31        for __Self
32        where __Self : $( $bounds )+
33        { }
34    }
35}