2021-02-26 16:55:08 -06:00
|
|
|
// edition:2018
|
|
|
|
|
|
|
|
#![no_core]
|
|
|
|
#![feature(no_core)]
|
|
|
|
|
2023-05-22 12:17:52 -05:00
|
|
|
// @is "$.index[*][?(@.name=='mod1')].inner.module.is_stripped" "true"
|
2021-02-26 16:55:08 -06:00
|
|
|
mod mod1 {
|
2023-05-22 12:17:52 -05:00
|
|
|
// @is "$.index[*][?(@.name=='mod2')].inner.module.is_stripped" "true"
|
2021-02-26 16:55:08 -06:00
|
|
|
mod mod2 {
|
2022-08-17 05:55:09 -05:00
|
|
|
// @set m2pub_id = "$.index[*][?(@.name=='Mod2Public')].id"
|
2021-02-26 16:55:08 -06:00
|
|
|
pub struct Mod2Public;
|
|
|
|
|
2022-08-17 05:55:09 -05:00
|
|
|
// @!has "$.index[*][?(@.name=='Mod2Private')]"
|
2021-02-26 16:55:08 -06:00
|
|
|
struct Mod2Private;
|
|
|
|
}
|
2022-07-15 10:48:46 -05:00
|
|
|
|
2023-05-22 12:17:52 -05:00
|
|
|
// @set mod2_use_id = "$.index[*][?(@.docs=='Mod2 re-export')].id"
|
|
|
|
// @is "$.index[*][?(@.docs=='Mod2 re-export')].inner.import.name" \"mod2\"
|
|
|
|
/// Mod2 re-export
|
2021-02-26 16:55:08 -06:00
|
|
|
pub use self::mod2::*;
|
|
|
|
|
2022-08-17 05:55:09 -05:00
|
|
|
// @set m1pub_id = "$.index[*][?(@.name=='Mod1Public')].id"
|
2021-02-26 16:55:08 -06:00
|
|
|
pub struct Mod1Public;
|
2022-08-17 05:55:09 -05:00
|
|
|
// @!has "$.index[*][?(@.name=='Mod1Private')]"
|
2021-02-26 16:55:08 -06:00
|
|
|
struct Mod1Private;
|
|
|
|
}
|
2022-07-15 10:48:46 -05:00
|
|
|
|
2023-05-22 12:17:52 -05:00
|
|
|
// @set mod1_use_id = "$.index[*][?(@.docs=='Mod1 re-export')].id"
|
|
|
|
// @is "$.index[*][?(@.docs=='Mod1 re-export')].inner.import.name" \"mod1\"
|
|
|
|
/// Mod1 re-export
|
2021-02-26 16:55:08 -06:00
|
|
|
pub use mod1::*;
|
|
|
|
|
2023-05-22 12:17:52 -05:00
|
|
|
// @ismany "$.index[*][?(@.name=='mod2')].inner.module.items[*]" $m2pub_id
|
|
|
|
// @ismany "$.index[*][?(@.name=='mod1')].inner.module.items[*]" $m1pub_id $mod2_use_id
|
|
|
|
// @ismany "$.index[*][?(@.name=='glob_private')].inner.module.items[*]" $mod1_use_id
|