diff options
| author | bors <bors@rust-lang.org> | 2023-11-13 04:09:18 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-11-13 04:09:18 +0000 |
| commit | 79e9716c980570bfd1f666e3b16ac583f0168962 (patch) | |
| tree | 3af567c0e202f9b3b28963ef565669d164e71345 /tests/run-coverage/macro_name_span.coverage | |
| parent | 22d4a4ff135fd79c06cf0274754bd571b1fff400 (diff) | |
| parent | 7e1d1d4b220f226fdea3ce57e3604e167aa28aae (diff) | |
| download | rust-1.74.0.tar.gz rust-1.74.0.zip | |
Auto merge of #117843 - Mark-Simulacrum:stable-next, r=Mark-Simulacrum 1.74.0
[stable] Prepare 1.74.0 release https://forge.rust-lang.org/release/process.html#promote-branches-t-3-days-monday Also backports: * Disabling specialization as an alternative backport of "Fix excessive initialization and reads beyond EOF in io::copy(_, Vec<u8>) specialization #117576" * coverage: Avoid creating malformed macro name spans #117827 r? `@Mark-Simulacrum`
Diffstat (limited to 'tests/run-coverage/macro_name_span.coverage')
| -rw-r--r-- | tests/run-coverage/macro_name_span.coverage | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/run-coverage/macro_name_span.coverage b/tests/run-coverage/macro_name_span.coverage new file mode 100644 index 00000000000..cadf7024657 --- /dev/null +++ b/tests/run-coverage/macro_name_span.coverage @@ -0,0 +1,39 @@ +$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| |} + |
