rust/tests/codegen-units/partitioning/regular-modules.rs

71 lines
2.3 KiB
Rust

//@ incremental
//@ compile-flags: -Zprint-mono-items=lazy -Copt-level=0
#![crate_type = "lib"]
// This test ensures that regular fn items and statics are assigned to the CGU of their module.
//~ MONO_ITEM fn foo @@ regular_modules[External]
pub fn foo() {}
//~ MONO_ITEM fn bar @@ regular_modules[External]
pub fn bar() {}
//~ MONO_ITEM static BAZ @@ regular_modules[External]
pub static BAZ: u64 = 0;
pub mod mod1 {
//~ MONO_ITEM fn mod1::foo @@ regular_modules-mod1[External]
pub fn foo() {}
//~ MONO_ITEM fn mod1::bar @@ regular_modules-mod1[External]
pub fn bar() {}
//~ MONO_ITEM static mod1::BAZ @@ regular_modules-mod1[External]
pub static BAZ: u64 = 0;
pub mod mod1 {
//~ MONO_ITEM fn mod1::mod1::foo @@ regular_modules-mod1-mod1[External]
pub fn foo() {}
//~ MONO_ITEM fn mod1::mod1::bar @@ regular_modules-mod1-mod1[External]
pub fn bar() {}
//~ MONO_ITEM static mod1::mod1::BAZ @@ regular_modules-mod1-mod1[External]
pub static BAZ: u64 = 0;
}
pub mod mod2 {
//~ MONO_ITEM fn mod1::mod2::foo @@ regular_modules-mod1-mod2[External]
pub fn foo() {}
//~ MONO_ITEM fn mod1::mod2::bar @@ regular_modules-mod1-mod2[External]
pub fn bar() {}
//~ MONO_ITEM static mod1::mod2::BAZ @@ regular_modules-mod1-mod2[External]
pub static BAZ: u64 = 0;
}
}
pub mod mod2 {
//~ MONO_ITEM fn mod2::foo @@ regular_modules-mod2[External]
pub fn foo() {}
//~ MONO_ITEM fn mod2::bar @@ regular_modules-mod2[External]
pub fn bar() {}
//~ MONO_ITEM static mod2::BAZ @@ regular_modules-mod2[External]
pub static BAZ: u64 = 0;
pub mod mod1 {
//~ MONO_ITEM fn mod2::mod1::foo @@ regular_modules-mod2-mod1[External]
pub fn foo() {}
//~ MONO_ITEM fn mod2::mod1::bar @@ regular_modules-mod2-mod1[External]
pub fn bar() {}
//~ MONO_ITEM static mod2::mod1::BAZ @@ regular_modules-mod2-mod1[External]
pub static BAZ: u64 = 0;
}
pub mod mod2 {
//~ MONO_ITEM fn mod2::mod2::foo @@ regular_modules-mod2-mod2[External]
pub fn foo() {}
//~ MONO_ITEM fn mod2::mod2::bar @@ regular_modules-mod2-mod2[External]
pub fn bar() {}
//~ MONO_ITEM static mod2::mod2::BAZ @@ regular_modules-mod2-mod2[External]
pub static BAZ: u64 = 0;
}
}