mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-26 08:44:35 +00:00
1f9353ae2c
Some of these tests use non-standard formatting that we can simulate by strategically adding `//` line comments. One contains `where` clauses that would be split across multiple lines, which we can keep on one line by moving the bounds to the generic type instead.
50 lines
1.3 KiB
Plaintext
50 lines
1.3 KiB
Plaintext
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<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| |}
|
|
|