| $DIR/auxiliary/macro_name_span_helper.rs: |
| LL| |// edition: 2021 |
| LL| | |
| LL| |#[macro_export] |
| LL| |macro_rules! macro_that_defines_a_function { |
| LL| | (fn $name:ident () $body:tt) => { |
| LL| 1| fn $name () -> () $body |
| LL| | } |
| LL| |} |
| LL| | |
| LL| |// Non-executable comment. |
| |
| $DIR/macro_name_span.rs: |
| LL| |// edition: 2021 |
| LL| | |
| LL| |// Regression test for <https://github.com/rust-lang/rust/issues/117788>. |
| LL| |// Under some circumstances, the heuristics that detect macro name spans can |
| LL| |// get confused and produce incorrect spans beyond the bounds of the span |
| LL| |// being processed. |
| LL| | |
| LL| |// aux-build: macro_name_span_helper.rs |
| LL| |extern crate macro_name_span_helper; |
| LL| | |
| LL| 1|fn main() { |
| LL| 1| affected_function(); |
| LL| 1|} |
| LL| | |
| LL| |macro_rules! macro_with_an_unreasonably_and_egregiously_long_name { |
| LL| | () => { |
| LL| | println!("hello"); |
| LL| | }; |
| LL| |} |
| LL| | |
| LL| |macro_name_span_helper::macro_that_defines_a_function! { |
| LL| | fn affected_function() { |
| LL| | macro_with_an_unreasonably_and_egregiously_long_name!(); |
| LL| | } |
| LL| |} |
| |