mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-14 02:49:40 +00:00

This also removes some manipulation of the function signature span that only made sense in the context of merging non-adjacent spans.
26 lines
905 B
Plaintext
26 lines
905 B
Plaintext
LL| |#![feature(coverage_attribute)]
|
|
LL| |//@ edition: 2021
|
|
LL| |
|
|
LL| |// Test that coverage instrumentation can gracefully handle functions that end
|
|
LL| |// up having no relevant spans, without crashing the compiler or causing
|
|
LL| |// `llvm-cov` to fail.
|
|
LL| |//
|
|
LL| |// This was originally a regression test for issues such as #118643 and #118662.
|
|
LL| |
|
|
LL| 1|fn main() {
|
|
LL| 1| affected_function()();
|
|
LL| 1|}
|
|
LL| |
|
|
LL| |macro_rules! macro_that_defines_a_function {
|
|
LL| | (fn $name:ident () $body:tt) => {
|
|
LL| | fn $name () -> impl Fn() $body
|
|
LL| | }
|
|
LL| |}
|
|
LL| |
|
|
LL| |macro_that_defines_a_function! {
|
|
LL| 1| fn affected_function() {
|
|
LL| | || ()
|
|
LL| | }
|
|
LL| |}
|
|
|