Macro libdx::foreach_dyn

source ·
macro_rules! foreach_dyn {
    ([$($arg:ident),+] => $logic:expr) => { ... };
}
Expand description

Like foreach!, but allows you to “iterate” over identifiers, running your logic on a &dyn T trait object for each one.

§Example

struct Foo;
struct Bar;
struct Baz;

trait Quacks {
    fn quack(&self) { println!("Quack!"); }
}

impl Quacks for Foo {};
impl Quacks for Bar {};
impl Quacks for Baz {};

foreach_dyn!([Foo, Bar, Baz] => |x: &dyn Quacks| x.quack());