// check-pass #![allow(dead_code)] #![allow(stable_features)] #![feature(associated_consts)] impl A for i32 { type Foo = u32; } impl B for u32 { const BAR: i32 = 0; } trait A { type Foo: B; } trait B { const BAR: i32; } fn generic() { // This panics if the universal function call syntax is used as well println!("{}", T::Foo::BAR); } fn main() {}