34 lines
1.1 KiB
Rust
34 lines
1.1 KiB
Rust
// edition:2018
|
|
|
|
#![no_core]
|
|
#![feature(no_core)]
|
|
|
|
// @is "$.index[*][?(@.name=='mod1')].kind" \"module\"
|
|
// @is "$.index[*][?(@.name=='mod1')].inner.is_stripped" "true"
|
|
mod mod1 {
|
|
// @is "$.index[*][?(@.name=='mod2')].kind" \"module\"
|
|
// @is "$.index[*][?(@.name=='mod2')].inner.is_stripped" "true"
|
|
mod mod2 {
|
|
// @set m2pub_id = "$.index[*][?(@.name=='Mod2Public')].id"
|
|
pub struct Mod2Public;
|
|
|
|
// @!has "$.index[*][?(@.name=='Mod2Private')]"
|
|
struct Mod2Private;
|
|
}
|
|
|
|
// @set mod2_use_id = "$.index[*][?(@.kind=='import' && @.inner.name=='mod2')].id"
|
|
pub use self::mod2::*;
|
|
|
|
// @set m1pub_id = "$.index[*][?(@.name=='Mod1Public')].id"
|
|
pub struct Mod1Public;
|
|
// @!has "$.index[*][?(@.name=='Mod1Private')]"
|
|
struct Mod1Private;
|
|
}
|
|
|
|
// @set mod1_use_id = "$.index[*][?(@.kind=='import' && @.inner.name=='mod1')].id"
|
|
pub use mod1::*;
|
|
|
|
// @ismany "$.index[*][?(@.name=='mod2')].inner.items[*]" $m2pub_id
|
|
// @ismany "$.index[*][?(@.name=='mod1')].inner.items[*]" $m1pub_id $mod2_use_id
|
|
// @ismany "$.index[*][?(@.name=='glob_private')].inner.items[*]" $mod1_use_id
|