2023-10-17 02:41:10 -05:00
|
|
|
LL| |#![feature(coverage_attribute)]
|
2024-02-22 06:10:29 -06:00
|
|
|
LL| |//@ edition: 2021
|
2023-10-17 02:41:10 -05:00
|
|
|
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>
|
2024-01-15 21:12:10 -06:00
|
|
|
LL| 1|//
|
2023-10-17 02:41:10 -05:00
|
|
|
LL| 1|{
|
|
|
|
LL| 1| Some(7i32);
|
|
|
|
LL| 1| Some(0)
|
|
|
|
LL| 1|}
|
|
|
|
LL| |
|
2023-10-17 02:58:35 -05:00
|
|
|
LL| 1|fn b() -> Option<i32>
|
2024-01-15 21:12:10 -06:00
|
|
|
LL| 1|//
|
2023-10-17 02:58:35 -05:00
|
|
|
LL| 1|{
|
2023-10-17 02:41:10 -05:00
|
|
|
LL| 1| Some(7i32)?;
|
|
|
|
^0
|
|
|
|
LL| 1| Some(0)
|
|
|
|
LL| 1|}
|
|
|
|
LL| |
|
2023-10-17 02:58:35 -05:00
|
|
|
LL| 1|fn c() -> Option<i32>
|
2024-01-15 21:12:10 -06:00
|
|
|
LL| 1|//
|
2023-10-17 02:58:35 -05:00
|
|
|
LL| 1|{
|
2023-10-17 02:41:10 -05:00
|
|
|
LL| 1| let _ = Some(7i32)?;
|
|
|
|
^0
|
|
|
|
LL| 1| Some(0)
|
|
|
|
LL| 1|}
|
|
|
|
LL| |
|
|
|
|
LL| 1|fn d() -> Option<i32>
|
2024-01-15 21:12:10 -06:00
|
|
|
LL| 1|//
|
2023-10-17 02:41:10 -05:00
|
|
|
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| |}
|
|
|
|
|