//@ revisions: normal import_trait_associated_functions #![cfg_attr(import_trait_associated_functions, feature(import_trait_associated_functions))] // Makes sure that imported constant can be used in pattern bindings. use MyDefault::DEFAULT; //[normal]~ ERROR `use` associated items of traits is unstable trait MyDefault { const DEFAULT: Self; } impl MyDefault for u32 { const DEFAULT: u32 = 0; } impl MyDefault for () { const DEFAULT: () = (); } fn foo(x: u32) -> u32 { let DEFAULT: u32 = 0; //~ ERROR refutable pattern in local binding const DEFAULT: u32 = 0; if let DEFAULT = x { DEFAULT } else { 1 } } fn bar() { let DEFAULT = (); } fn main() {}