Skip to content

Commit 2bede08

Browse files
committed
coverage: Handle fn signature spans more consistently near ?
1 parent 4c98134 commit 2bede08

File tree

6 files changed

+23
-21
lines changed

6 files changed

+23
-21
lines changed

compiler/rustc_mir_transform/src/coverage/spans.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ impl CoverageSpan {
8080
expn_span: fn_sig_span,
8181
current_macro_or_none: Default::default(),
8282
bcb: START_BCB,
83-
merged_spans: vec![],
83+
merged_spans: vec![fn_sig_span],
8484
is_closure: false,
8585
}
8686
}

tests/coverage-map/fn_sig_into_try.cov-map

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,30 @@ Number of file 0 mappings: 1
77
- Code(Counter(0)) at (prev + 10, 1) to (start + 4, 2)
88

99
Function name: fn_sig_into_try::b
10-
Raw bytes (28): 0x[01, 01, 02, 01, 05, 05, 02, 04, 01, 12, 05, 00, 0f, 00, 00, 0f, 00, 10, 02, 01, 05, 00, 0c, 07, 01, 01, 00, 02]
10+
Raw bytes (28): 0x[01, 01, 02, 01, 05, 05, 02, 04, 01, 10, 01, 02, 0f, 00, 02, 0f, 00, 10, 02, 01, 05, 00, 0c, 07, 01, 01, 00, 02]
1111
Number of files: 1
1212
- file 0 => global file 1
1313
Number of expressions: 2
1414
- expression 0 operands: lhs = Counter(0), rhs = Counter(1)
1515
- expression 1 operands: lhs = Counter(1), rhs = Expression(0, Sub)
1616
Number of file 0 mappings: 4
17-
- Code(Counter(0)) at (prev + 18, 5) to (start + 0, 15)
18-
- Code(Zero) at (prev + 0, 15) to (start + 0, 16)
17+
- Code(Counter(0)) at (prev + 16, 1) to (start + 2, 15)
18+
- Code(Zero) at (prev + 2, 15) to (start + 0, 16)
1919
- Code(Expression(0, Sub)) at (prev + 1, 5) to (start + 0, 12)
2020
= (c0 - c1)
2121
- Code(Expression(1, Add)) at (prev + 1, 1) to (start + 0, 2)
2222
= (c1 + (c0 - c1))
2323

2424
Function name: fn_sig_into_try::c
25-
Raw bytes (28): 0x[01, 01, 02, 01, 05, 05, 02, 04, 01, 18, 0d, 00, 17, 00, 00, 17, 00, 18, 02, 01, 05, 00, 0c, 07, 01, 01, 00, 02]
25+
Raw bytes (28): 0x[01, 01, 02, 01, 05, 05, 02, 04, 01, 16, 01, 02, 17, 00, 02, 17, 00, 18, 02, 01, 05, 00, 0c, 07, 01, 01, 00, 02]
2626
Number of files: 1
2727
- file 0 => global file 1
2828
Number of expressions: 2
2929
- expression 0 operands: lhs = Counter(0), rhs = Counter(1)
3030
- expression 1 operands: lhs = Counter(1), rhs = Expression(0, Sub)
3131
Number of file 0 mappings: 4
32-
- Code(Counter(0)) at (prev + 24, 13) to (start + 0, 23)
33-
- Code(Zero) at (prev + 0, 23) to (start + 0, 24)
32+
- Code(Counter(0)) at (prev + 22, 1) to (start + 2, 23)
33+
- Code(Zero) at (prev + 2, 23) to (start + 0, 24)
3434
- Code(Expression(0, Sub)) at (prev + 1, 5) to (start + 0, 12)
3535
= (c0 - c1)
3636
- Code(Expression(1, Add)) at (prev + 1, 1) to (start + 0, 2)

tests/coverage-map/status-quo/inline-dead.cov-map

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,15 @@ Number of file 0 mappings: 2
3131
- Code(Counter(0)) at (prev + 7, 6) to (start + 2, 2)
3232

3333
Function name: inline_dead::main::{closure#0}
34-
Raw bytes (16): 0x[01, 01, 01, 01, 05, 02, 00, 09, 0d, 00, 0e, 03, 02, 05, 00, 06]
34+
Raw bytes (23): 0x[01, 01, 02, 09, 06, 01, 05, 03, 01, 07, 17, 00, 18, 00, 02, 0d, 00, 0e, 03, 02, 05, 00, 06]
3535
Number of files: 1
3636
- file 0 => global file 1
37-
Number of expressions: 1
38-
- expression 0 operands: lhs = Counter(0), rhs = Counter(1)
39-
Number of file 0 mappings: 2
40-
- Code(Zero) at (prev + 9, 13) to (start + 0, 14)
37+
Number of expressions: 2
38+
- expression 0 operands: lhs = Counter(2), rhs = Expression(1, Sub)
39+
- expression 1 operands: lhs = Counter(0), rhs = Counter(1)
40+
Number of file 0 mappings: 3
41+
- Code(Counter(0)) at (prev + 7, 23) to (start + 0, 24)
42+
- Code(Zero) at (prev + 2, 13) to (start + 0, 14)
4143
- Code(Expression(0, Add)) at (prev + 2, 5) to (start + 0, 6)
42-
= (c0 + c1)
44+
= (c2 + (c0 - c1))
4345

tests/coverage-map/status-quo/issue-84561.cov-map

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ Number of file 0 mappings: 1
77
- Code(Counter(0)) at (prev + 4, 10) to (start + 0, 19)
88

99
Function name: <issue_84561::Foo as core::fmt::Debug>::fmt
10-
Raw bytes (29): 0x[01, 01, 02, 01, 05, 05, 02, 04, 01, 89, 01, 09, 00, 25, 05, 00, 25, 00, 26, 02, 01, 09, 00, 0f, 07, 01, 05, 00, 06]
10+
Raw bytes (29): 0x[01, 01, 02, 01, 05, 05, 02, 04, 01, 88, 01, 05, 01, 25, 05, 01, 25, 00, 26, 02, 01, 09, 00, 0f, 07, 01, 05, 00, 06]
1111
Number of files: 1
1212
- file 0 => global file 1
1313
Number of expressions: 2
1414
- expression 0 operands: lhs = Counter(0), rhs = Counter(1)
1515
- expression 1 operands: lhs = Counter(1), rhs = Expression(0, Sub)
1616
Number of file 0 mappings: 4
17-
- Code(Counter(0)) at (prev + 137, 9) to (start + 0, 37)
18-
- Code(Counter(1)) at (prev + 0, 37) to (start + 0, 38)
17+
- Code(Counter(0)) at (prev + 136, 5) to (start + 1, 37)
18+
- Code(Counter(1)) at (prev + 1, 37) to (start + 0, 38)
1919
- Code(Expression(0, Sub)) at (prev + 1, 9) to (start + 0, 15)
2020
= (c0 - c1)
2121
- Code(Expression(1, Add)) at (prev + 1, 5) to (start + 0, 6)

tests/run-coverage/fn_sig_into_try.coverage

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@
1313
LL| 1| Some(0)
1414
LL| 1|}
1515
LL| |
16-
LL| |fn b() -> Option<i32>
17-
LL| |{
16+
LL| 1|fn b() -> Option<i32>
17+
LL| 1|{
1818
LL| 1| Some(7i32)?;
1919
^0
2020
LL| 1| Some(0)
2121
LL| 1|}
2222
LL| |
23-
LL| |fn c() -> Option<i32>
24-
LL| |{
23+
LL| 1|fn c() -> Option<i32>
24+
LL| 1|{
2525
LL| 1| let _ = Some(7i32)?;
2626
^0
2727
LL| 1| Some(0)

tests/run-coverage/issue-84561.coverage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@
135135
LL| 0|}
136136
LL| |
137137
LL| |impl std::fmt::Debug for Foo {
138-
LL| | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
138+
LL| 7| fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
139139
LL| 7| write!(f, "try and succeed")?;
140140
^0
141141
LL| 7| Ok(())

0 commit comments

Comments
 (0)