// run-pass // The main purpose of this test is to ensure that different impls of the same // trait can refer to each other without setting off the static recursion check // (as long as there's no actual recursion). trait Foo { const BAR: u32; } struct IsFoo1; impl Foo for IsFoo1 { const BAR: u32 = 1; } struct IsFoo2; impl Foo for IsFoo2 { const BAR: u32 = ::BAR; } fn main() { assert_eq!(::BAR, ::BAR); }