LL| |//@ edition: 2021 LL| | LL| |// If the span extractor can't find any relevant spans for a function, LL| |// but the function contains coverage span-marker statements (e.g. inserted LL| |// for `if !`), coverage codegen may think that it is instrumented and LL| |// consequently complain that it has no spans. LL| |// LL| |// Regression test for , LL| |// "A used function should have had coverage mapping data but did not". 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 () $body LL| | } LL| |} LL| | LL| |macro_that_defines_a_function! { LL| 1| fn affected_function() { LL| 1| if !false { LL| 1| () LL| | } else { LL| 0| () LL| | } LL| | } LL| |}