//@ incremental //@ compile-flags: -Zprint-mono-items=lazy -Copt-level=0 #![crate_type = "lib"] //@ aux-build:cgu_generic_function.rs extern crate cgu_generic_function; // This test checks that, in an unoptimized build, a generic function and its callees are only // instantiated once in this crate. //~ MONO_ITEM fn user @@ extern_generic[External] pub fn user() { let _ = cgu_generic_function::foo("abc"); } pub mod mod1 { use cgu_generic_function; //~ MONO_ITEM fn mod1::user @@ extern_generic-mod1[External] pub fn user() { let _ = cgu_generic_function::foo("abc"); } pub mod mod1 { use cgu_generic_function; //~ MONO_ITEM fn mod1::mod1::user @@ extern_generic-mod1-mod1[External] pub fn user() { let _ = cgu_generic_function::foo("abc"); } } } //~ MONO_ITEM fn cgu_generic_function::foo::<&str> @@ cgu_generic_function-in-extern_generic.volatile[External] //~ MONO_ITEM fn cgu_generic_function::bar::<&str> @@ cgu_generic_function-in-extern_generic.volatile[External]