.item(Item1::new())
.item(Item2::new())
.perform()?;
match something.get() {
Some(Item1::VALUE) = Item1::execute(),
Some(Item2::VALUE) = Item2::execute(),
None => handle_error()
}
Возможно ли как-то сделать такой макрос, который делал бы так:
perform!(Item1, Item2)?;
То есть передать туда произвольный набор типов, реализующих нужный трейт, а они уже подставятся в нужном количестве в выражение на правильные места
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=a1e7e0afd72a430cfa394b1c5b5741e6
Обсуждают сегодня