#![feature(specialization)] fn main() { let x = as Foo>::bar(); } trait Foo { fn bar() -> u32; } impl Foo for Vec { #[inline(always)] default fn bar() -> u32 { 123 } } // END RUST SOURCE // START rustc.main.Inline.before.mir // let mut _0: (); // let _1: u32; // scope 1 { // debug x => _1; // } // bb0: { // StorageLive(_1); // _1 = const as Foo>::bar() -> bb1; // } // bb1: { // _0 = (); // StorageDead(_1); // return; // } // END rustc.main.Inline.before.mir // START rustc.main.Inline.after.mir // let mut _0: (); // let _1: u32; // scope 1 { // debug x => _1; // } // scope 2 { // } // bb0: { // StorageLive(_1); // _1 = const 123u32; // _0 = (); // StorageDead(_1); // return; // } // END rustc.main.Inline.after.mir