diff options
Diffstat (limited to 'src/test/codegen-units/item-collection/items-within-generic-items.rs')
-rw-r--r-- | src/test/codegen-units/item-collection/items-within-generic-items.rs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/test/codegen-units/item-collection/items-within-generic-items.rs b/src/test/codegen-units/item-collection/items-within-generic-items.rs new file mode 100644 index 000000000..d37d7f7d9 --- /dev/null +++ b/src/test/codegen-units/item-collection/items-within-generic-items.rs @@ -0,0 +1,35 @@ +// compile-flags:-Zprint-mono-items=eager + +#![deny(dead_code)] +#![feature(start)] + +fn generic_fn<T>(a: T) -> (T, i32) { + //~ MONO_ITEM fn generic_fn::nested_fn + fn nested_fn(a: i32) -> i32 { + a + 1 + } + + let x = { + //~ MONO_ITEM fn generic_fn::nested_fn + fn nested_fn(a: i32) -> i32 { + a + 2 + } + + 1 + nested_fn(1) + }; + + return (a, x + nested_fn(0)); +} + +//~ MONO_ITEM fn start +#[start] +fn start(_: isize, _: *const *const u8) -> isize { + //~ MONO_ITEM fn generic_fn::<i64> + let _ = generic_fn(0i64); + //~ MONO_ITEM fn generic_fn::<u16> + let _ = generic_fn(0u16); + //~ MONO_ITEM fn generic_fn::<i8> + let _ = generic_fn(0i8); + + 0 +} |