summaryrefslogtreecommitdiffstats
path: root/tests/coverage/fn_sig_into_try.coverage
blob: f1ddb1da780228b6c514d7703728b4b36ad74ae0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
   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|    Some(7i32);
   LL|      1|    Some(0)
   LL|      1|}
   LL|       |
   LL|      1|fn b() -> Option<i32>
   LL|      1|{
   LL|      1|    Some(7i32)?;
                            ^0
   LL|      1|    Some(0)
   LL|      1|}
   LL|       |
   LL|      1|fn c() -> Option<i32>
   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|    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|       |}