2019-09-07 17:42:12 -05:00
|
|
|
// aux-build:test-macros.rs
|
|
|
|
|
|
|
|
#[macro_use]
|
|
|
|
extern crate test_macros;
|
|
|
|
|
2019-09-07 17:42:12 -05:00
|
|
|
#[identity_attr]
|
2019-09-07 17:42:12 -05:00
|
|
|
mod m {
|
|
|
|
pub struct X;
|
|
|
|
|
|
|
|
type A = Y; //~ ERROR cannot find type `Y` in this scope
|
|
|
|
}
|
|
|
|
|
|
|
|
struct Y;
|
|
|
|
type A = X; //~ ERROR cannot find type `X` in this scope
|
|
|
|
|
|
|
|
#[derive(Copy)] //~ ERROR `derive` may only be applied to structs, enums and unions
|
|
|
|
mod n {}
|
|
|
|
|
|
|
|
#[empty_attr]
|
|
|
|
mod module; //~ ERROR non-inline modules in proc macro input are unstable
|
|
|
|
|
2019-09-07 17:42:12 -05:00
|
|
|
#[empty_attr]
|
2019-09-07 17:42:12 -05:00
|
|
|
mod outer {
|
|
|
|
mod inner; //~ ERROR non-inline modules in proc macro input are unstable
|
|
|
|
|
|
|
|
mod inner_inline {} // OK
|
|
|
|
}
|
|
|
|
|
2019-09-07 17:42:12 -05:00
|
|
|
#[derive(Empty)]
|
|
|
|
struct S {
|
|
|
|
field: [u8; {
|
|
|
|
#[path = "outer/inner.rs"]
|
|
|
|
mod inner; //~ ERROR non-inline modules in proc macro input are unstable
|
|
|
|
mod inner_inline {} // OK
|
|
|
|
0
|
|
|
|
}]
|
|
|
|
}
|
|
|
|
|
|
|
|
#[identity_attr]
|
|
|
|
fn f() {
|
|
|
|
#[path = "outer/inner.rs"]
|
|
|
|
mod inner; //~ ERROR non-inline modules in proc macro input are unstable
|
|
|
|
mod inner_inline {} // OK
|
|
|
|
}
|
|
|
|
|
2019-09-07 17:42:12 -05:00
|
|
|
fn main() {}
|