1#[macro_export]
2macro_rules! collection {
3 ($($k:expr => $v:expr),* $(,)?) => {{
4 use std::iter::{Iterator, IntoIterator};
5 Iterator::collect(IntoIterator::into_iter([$(($k, $v),)*]))
6 }};
7
8 ($($v:expr),* $(,)?) => {{
9 use std::iter::{Iterator, IntoIterator};
10 Iterator::collect(IntoIterator::into_iter([$($v,)*]))
11 }};
12}
13
14#[macro_export]
15macro_rules! lazy_collection {
16 ($($k:expr => $v:expr),* $(,)?) => {{
17 use std::iter::{Iterator, IntoIterator};
18 LazyLock::new(|| Iterator::collect(IntoIterator::into_iter([$(($k, $v),)*])))
19 }};
20
21 ($($v:expr),* $(,)?) => {{
22 use std::iter::{Iterator, IntoIterator};
23 LazyLock::new(|| Iterator::collect(IntoIterator::into_iter([$($v,)*])))
24 }};
25}