Учитывая следующее назначение кортежа:Можно использовать макрос для расширения в кортеж конструкторов?
let (a, b, c, d) = (Item::new(1), Item::new(10), Item::new(100), Item::new(1000));
Может ли это быть упрощена так, что конструктор может быть удален и сделал в макрос. например .:
let (a, b, c, d) = item_tuple!(1, 10, 100, 1000);
Глядя на рекурсивные макросы, кажется, каждый макрос конкретизации необходимо создать действительный кортеж, поэтому макрос будет создать кортеж пар и т.д .: let (a, (b, (c, d))) = ...;
(see this example).
Можно ли написать макрос, который расширяется в плоский кортеж конструкторов?