|  | //@ 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] |