mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-03 22:49:17 +00:00 
			
		
		
		
	This reverts commit 7d82cadd97acc66993b69304c5a1a04ef7d1fa36. I am doing this to buy us some time with respect to issue #106337 w.r.t. the 1.67 release.
		
			
				
	
	
		
			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() {}
 |