//@ run-pass #![allow(unused_variables)] trait Nat { const VALUE: usize; } struct Zero; struct Succ(#[allow(dead_code)] N); impl Nat for Zero { const VALUE: usize = 0; } impl Nat for Succ { const VALUE: usize = N::VALUE + 1; } fn main() { let x: [i32; >>>>::VALUE] = [1, 2, 3, 4]; }