LL| |#![feature(coverage_attribute)] LL| |// compile-flags: --edition=2021 LL| | LL| |// Regression test for inconsistent handling of function signature spans that LL| |// are followed by code using the `?` operator. LL| |// LL| |// For each of these similar functions, the line containing the function LL| |// signature should be handled in the same way. LL| | LL| 1|fn a() -> Option LL| 1|{ LL| 1| Some(7i32); LL| 1| Some(0) LL| 1|} LL| | LL| 1|fn b() -> Option LL| 1|{ LL| 1| Some(7i32)?; ^0 LL| 1| Some(0) LL| 1|} LL| | LL| 1|fn c() -> Option LL| 1|{ LL| 1| let _ = Some(7i32)?; ^0 LL| 1| Some(0) LL| 1|} LL| | LL| 1|fn d() -> Option LL| 1|{ LL| 1| let _: () = (); LL| 1| Some(7i32)?; ^0 LL| 1| Some(0) LL| 1|} LL| | LL| |#[coverage(off)] LL| |fn main() { LL| | a(); LL| | b(); LL| | c(); LL| | d(); LL| |}