// a test demonstrating why we do need to run static const qualification on associated constants // instead of just checking the final constant trait Foo { const X: T; } trait Bar> { const F: u32 = (U::X, 42).1; //~ ERROR destructor of } impl Foo for () { const X: u32 = 42; } impl Foo> for String { const X: Vec = Vec::new(); } impl Bar for () {} impl Bar, String> for String {} fn main() { let x = <() as Bar>::F; let y = , String>>::F; }