| //@ incremental | |
| //@ compile-flags: -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] |