// This test case should hopefully be a freebie if all of the previous ones are
// passing. This test demonstrates using the seq macro to construct a const
// array literal.
//
// The generated code would be:
//
// [Proc::new(0), Proc::new(1), ..., Proc::new(255),]
use seq::seq;
const PROCS: [Proc; 256] = {
seq!(N in 0..256 {
[
#(
Proc::new(N),
)*
]
})
};
struct Proc {
id: usize,
}
impl Proc {
const fn new(id: usize) -> Self {
Proc { id }
}
}
fn main() {
assert_eq!(PROCS[32].id, 32);
}
這一關算是一個freebie
,當然,前提是我們之前的[]
也解析了的話。
當然,如果seq-5偷工減料,這一關是不會透過的。
但是使用cursor
的強制匹配,我們不得不列舉了各種情況,這道題就是個弟弟。
本作品採用《CC 協議》,轉載必須註明作者和本文連結