34 lines
1.3 KiB
Rust
34 lines
1.3 KiB
Rust
// Modules generated by transparent proc macros still acts as barriers for names (issue #50504).
|
|
|
|
//@ aux-build:generate-mod.rs
|
|
|
|
extern crate generate_mod;
|
|
|
|
struct FromOutside;
|
|
|
|
generate_mod::check!(); //~ ERROR cannot find type `FromOutside` in this scope
|
|
//~| ERROR cannot find type `Outer` in this scope
|
|
|
|
#[generate_mod::check_attr] //~ ERROR cannot find type `FromOutside` in this scope
|
|
//~| ERROR cannot find type `OuterAttr` in this scope
|
|
struct S;
|
|
|
|
#[derive(generate_mod::CheckDerive)] //~ ERROR cannot find type `FromOutside` in this scope
|
|
//~| ERROR cannot find type `OuterDerive` in this scope
|
|
//~| WARN this was previously accepted
|
|
//~| WARN this was previously accepted
|
|
struct Z;
|
|
|
|
fn inner_block() {
|
|
#[derive(generate_mod::CheckDerive)] //~ ERROR cannot find type `FromOutside` in this scope
|
|
//~| ERROR cannot find type `OuterDerive` in this scope
|
|
//~| WARN this was previously accepted
|
|
//~| WARN this was previously accepted
|
|
struct InnerZ;
|
|
}
|
|
|
|
#[derive(generate_mod::CheckDeriveLint)] // OK, lint is suppressed
|
|
struct W;
|
|
|
|
fn main() {}
|