// Test to make sure that inner functions within a polymorphic outer function // don't get re-codegened when the outer function is monomorphized. The test // code monomorphizes the outer functions several times, but the magic constants // used in the inner functions should each appear only once in the generated IR. // issue: rust-lang/rust#7349 //@ compile-flags: -Cno-prepopulate-passes -Copt-level=0 // CHECK-COUNT-1: ret i32 8675309 // CHECK-COUNT-1: ret i32 11235813 fn outer() { #[allow(dead_code)] fn inner() -> u32 { 8675309 } inner(); } extern "C" fn outer_foreign() { #[allow(dead_code)] fn inner() -> u32 { 11235813 } inner(); } fn main() { outer::(); outer::(); outer_foreign::(); outer_foreign::(); }