| LL| |#![feature(coverage_attribute)] | |
| LL| |//@ 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<i32> | |
| LL| |// | |
| LL| |{ | |
| LL| 1| Some(7i32); | |
| LL| 1| Some(0) | |
| LL| 1|} | |
| LL| | | |
| LL| 1|fn b() -> Option<i32> | |
| LL| |// | |
| LL| |{ | |
| LL| 1| Some(7i32)?; | |
| ^0 | |
| LL| 1| Some(0) | |
| LL| 1|} | |
| LL| | | |
| LL| 1|fn c() -> Option<i32> | |
| LL| |// | |
| LL| |{ | |
| LL| 1| let _ = Some(7i32)?; | |
| ^0 | |
| LL| 1| Some(0) | |
| LL| 1|} | |
| LL| | | |
| LL| 1|fn d() -> Option<i32> | |
| LL| |// | |
| LL| |{ | |
| 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| |} | |