#![crate_type="lib"] // These items are for testing that associated consts work cross-crate. pub trait Foo { const BAR: usize; } pub struct FooNoDefault; impl Foo for FooNoDefault { const BAR: usize = 0; } // These test that defaults and default resolution work cross-crate. pub trait FooDefault { const BAR: usize = 1; } pub struct FooOverwriteDefault; impl FooDefault for FooOverwriteDefault { const BAR: usize = 2; } pub struct FooUseDefault; impl FooDefault for FooUseDefault {} // Test inherent impls. pub struct InherentBar; impl InherentBar { pub const BAR: usize = 3; }