1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
// run-pass pub struct ConstDefault<const N: usize = 3>; impl<const N: usize> ConstDefault<N> { fn foo(self) -> usize { N } } impl ConstDefault { fn new() -> Self { ConstDefault } fn bar(self) {} } pub fn main() { let s = ConstDefault::new(); assert_eq!(s.foo(), 3); let w = ConstDefault::<3>; w.bar(); }