mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 04:57:19 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			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).
 | |
| 
 | |
| //@ proc-macro: 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() {}
 | 
