mirror of https://github.com/rust-lang/rust
50 lines
1.3 KiB
Plaintext
50 lines
1.3 KiB
Plaintext
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| 1|//
|
|
LL| 1|{
|
|
LL| 1| Some(7i32);
|
|
LL| 1| Some(0)
|
|
LL| 1|}
|
|
LL| |
|
|
LL| 1|fn b() -> Option<i32>
|
|
LL| 1|//
|
|
LL| 1|{
|
|
LL| 1| Some(7i32)?;
|
|
^0
|
|
LL| 1| Some(0)
|
|
LL| 1|}
|
|
LL| |
|
|
LL| 1|fn c() -> Option<i32>
|
|
LL| 1|//
|
|
LL| 1|{
|
|
LL| 1| let _ = Some(7i32)?;
|
|
^0
|
|
LL| 1| Some(0)
|
|
LL| 1|}
|
|
LL| |
|
|
LL| 1|fn d() -> Option<i32>
|
|
LL| 1|//
|
|
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| |}
|
|
|