mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 13:04:42 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			30 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| warning: non-local `macro_rules!` definition, `#[macro_export]` macro should be written at top level module
 | |
|   --> $DIR/auxiliary/nested-macro-rules.rs:7:9
 | |
|    |
 | |
| LL |   macro_rules! outer_macro {
 | |
|    |   ------------------------ in this expansion of `nested_macro_rules::outer_macro!`
 | |
| ...
 | |
| LL | /         macro_rules! inner_macro {
 | |
| LL | |             ($bang_macro:ident, $attr_macro:ident) => {
 | |
| LL | |                 $bang_macro!($name);
 | |
| LL | |                 #[$attr_macro] struct $attr_struct_name {}
 | |
| LL | |             }
 | |
| LL | |         }
 | |
|    | |_________^
 | |
|    |
 | |
|   ::: $DIR/nested-macro-rules.rs:23:5
 | |
|    |
 | |
| LL |       nested_macro_rules::outer_macro!(SecondStruct, SecondAttrStruct);
 | |
|    |       ---------------------------------------------------------------- in this macro invocation
 | |
|    |
 | |
|    = help: remove the `#[macro_export]` or move this `macro_rules!` outside the of the current function `main`
 | |
|    = note: a `macro_rules!` definition is non-local if it is nested inside an item and has a `#[macro_export]` attribute
 | |
| note: the lint level is defined here
 | |
|   --> $DIR/nested-macro-rules.rs:8:9
 | |
|    |
 | |
| LL | #![warn(non_local_definitions)]
 | |
|    |         ^^^^^^^^^^^^^^^^^^^^^
 | |
| 
 | |
| warning: 1 warning emitted
 | |
| 
 | 
