2 #![feature(const_generics_defaults)]
4 trait Trait<const N: u8 = 12> {
12 impl Trait<12> for u64 {
18 fn foo(arg: &dyn Trait) -> u8 {
22 trait Traitor<const N: u8 = 1, const M: u8 = N> {
28 impl Traitor<2> for bool { }
35 fn bar<const N: u8>(arg: &dyn Traitor<N>) -> u8 {
40 assert_eq!(foo(&10_u32), 12);
41 assert_eq!(foo(&3_u64), 3);
43 assert_eq!(bar(&true), 2);
44 assert_eq!(bar(&1_u8), 1);