mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 13:04:42 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
| // This test ensures that if there is are any macro calls alongside a `main` function,
 | |
| // it will indeed consider the `main` function as the program entry point and *won't*
 | |
| // generate its own `main` function to wrap everything even though macro calls are
 | |
| // valid in statement contexts, too, and could just as well expand to statements or
 | |
| // expressions (we don't perform any macro expansion to find `main`, see also
 | |
| // <https://github.com/rust-lang/rust/issues/57415>).
 | |
| //
 | |
| // See <./main-alongside-stmts.rs> for comparison.
 | |
| //
 | |
| //@ compile-flags:--test --test-args --test-threads=1
 | |
| //@ normalize-stdout: "tests/rustdoc-ui/doctest" -> "$$DIR"
 | |
| //@ normalize-stdout: "finished in \d+\.\d+s" -> "finished in $$TIME"
 | |
| //@ revisions: pass fail
 | |
| //@[pass] check-pass
 | |
| //@[fail] failure-status: 101
 | |
| 
 | |
| // Regression test for <https://github.com/rust-lang/rust/pull/140220#issuecomment-2831872920>:
 | |
| 
 | |
| //! ```
 | |
| //! fn main() {}
 | |
| //! include!("./auxiliary/items.rs");
 | |
| //! ```
 | |
| //!
 | |
| //! ```
 | |
| //! include!("./auxiliary/items.rs");
 | |
| //! fn main() {}
 | |
| //! ```
 | |
| 
 | |
| // Regression test for <https://github.com/rust-lang/rust/issues/140412>:
 | |
| // We test the "same" thing twice: Once via `compile_fail` to more closely mirror the reported
 | |
| // regression and once without it to make sure that it leads to the expected rustc errors,
 | |
| // namely `println!(…)` not being valid in item contexts.
 | |
| 
 | |
| #![cfg_attr(pass, doc = " ```compile_fail")]
 | |
| #![cfg_attr(fail, doc = " ```")]
 | |
| //! fn main() {}
 | |
| //! println!();
 | |
| //! ```
 | |
| //!
 | |
| #![cfg_attr(pass, doc = " ```compile_fail")]
 | |
| #![cfg_attr(fail, doc = " ```")]
 | |
| //! println!();
 | |
| //! fn main() {}
 | |
| //! ```
 | 
