diff options
| author | Zalathar <Zalathar@users.noreply.github.com> | 2023-11-13 11:33:44 +1100 | 
|---|---|---|
| committer | Zalathar <Zalathar@users.noreply.github.com> | 2023-11-13 12:31:44 +1100 | 
| commit | 514e324c32db0790a13f52a96e230663f3fe0525 (patch) | |
| tree | 6c3bc50bd8e32489eff6439bbc02c23440887e69 /tests/coverage/macro_name_span.rs | |
| parent | ed8298b825b8c2c5b57471cdd13dec9f94e26c03 (diff) | |
| download | rust-514e324c32db0790a13f52a96e230663f3fe0525.tar.gz rust-514e324c32db0790a13f52a96e230663f3fe0525.zip | |
coverage: Regression test for #117788
Without the workaround applied, this test will produce malformed mappings that cause `llvm-cov` to fail. (And if it does emit well-formed mappings, they should be obviously incorrect.)
Diffstat (limited to 'tests/coverage/macro_name_span.rs')
| -rw-r--r-- | tests/coverage/macro_name_span.rs | 25 | 
1 files changed, 25 insertions, 0 deletions
| diff --git a/tests/coverage/macro_name_span.rs b/tests/coverage/macro_name_span.rs new file mode 100644 index 00000000000..5d15977c498 --- /dev/null +++ b/tests/coverage/macro_name_span.rs @@ -0,0 +1,25 @@ +// edition: 2021 + +// Regression test for <https://github.com/rust-lang/rust/issues/117788>. +// Under some circumstances, the heuristics that detect macro name spans can +// get confused and produce incorrect spans beyond the bounds of the span +// being processed. + +// aux-build: macro_name_span_helper.rs +extern crate macro_name_span_helper; + +fn main() { + affected_function(); +} + +macro_rules! macro_with_an_unreasonably_and_egregiously_long_name { + () => { + println!("hello"); + }; +} + +macro_name_span_helper::macro_that_defines_a_function! { + fn affected_function() { + macro_with_an_unreasonably_and_egregiously_long_name!(); + } +} | 
