Code de macro dupliqué
Les macro peuvent être importées aussi, ça evite d'avoir des doublons, ce qui est une source classique de bug les doublons pas edité en même temps! :)
Ref à ce sujet:
- https://stackoverflow.com/questions/26731243/how-do-i-use-a-macro-across-module-files
- https://doc.rust-lang.org/book/ch19-06-macros.html
macro_rules! clone {
(@param _) => ( _ );
(@param $x:ident) => ( $x );
($($n:ident),+ => move || $body:expr) => (
{
$( let $n = $n.clone(); )+
move || $body
}
);
($($n:ident),+ => move |$($p:tt),+| $body:expr) => (
{
$( let $n = $n.clone(); )+
move |$(clone!(@param $p),)+| $body
}
);
}