Add codegen-units test for shared-generics.

This commit is contained in:
Michael Woerister 2018-03-13 14:26:49 +01:00
parent 94d36cf294
commit 69c7f5ccbb
2 changed files with 51 additions and 0 deletions

View file

@ -0,0 +1,21 @@
// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// compile-flags:-Zshare-generics=yes
#![crate_type="rlib"]
pub fn generic_fn<T>(x: T, y: T) -> (T, T) {
(x, y)
}
pub fn use_generic_fn_f32() -> (f32, f32) {
generic_fn(0.0f32, 1.0f32)
}

View file

@ -0,0 +1,30 @@
// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-tidy-linelength
// compile-flags:-Zprint-trans-items=eager -Zshare-generics=yes -Zincremental=tmp/partitioning-tests/shared-generics-exe
#![crate_type="rlib"]
// aux-build:shared_generics_aux.rs
extern crate shared_generics_aux;
//~ TRANS_ITEM fn shared_generics::foo[0]
pub fn foo() {
//~ TRANS_ITEM fn shared_generics_aux::generic_fn[0]<u16> @@ shared_generics_aux.volatile[External]
let _ = shared_generics_aux::generic_fn(0u16, 1u16);
// This should not generate a monomorphization because it's already
// available in `shared_generics_aux`.
let _ = shared_generics_aux::generic_fn(0.0f32, 3.0f32);
}
// TRANS_ITEM drop-glue i8