// skip-filecheck // Make sure that the MIR inliner does not loop indefinitely on polymorphic recursion. //@ compile-flags: --crate-type lib // Randomize `def_path_hash` by defining them under a module with different names macro_rules! emit { ($($m:ident)*) => {$( pub mod $m { pub trait Tr { type Next: Tr; } pub fn hoge() { inner::(); } #[inline(always)] fn inner() { inner::(); inner::(); } } )*}; } // Increase the chance of triggering the bug emit!(m00 m01 m02 m03 m04 m05 m06 m07 m08 m09 m10 m11 m12 m13 m14 m15 m16 m17 m18 m19);