Skip to content

Commit 3399029

Browse files
Remove CallKind::Deref hack from UseSpans
It's not really necessary
1 parent cd65cd2 commit 3399029

File tree

4 files changed

+6
-15
lines changed

4 files changed

+6
-15
lines changed

compiler/rustc_borrowck/src/diagnostics/mod.rs

-9
Original file line numberDiff line numberDiff line change
@@ -661,9 +661,6 @@ impl UseSpans<'_> {
661661
UseSpans::ClosureUse { args_span: span, .. }
662662
| UseSpans::PatUse(span)
663663
| UseSpans::OtherUse(span) => span,
664-
UseSpans::FnSelfUse { fn_call_span, kind: CallKind::DerefCoercion { .. }, .. } => {
665-
fn_call_span
666-
}
667664
UseSpans::FnSelfUse { var_span, .. } => var_span,
668665
}
669666
}
@@ -674,9 +671,6 @@ impl UseSpans<'_> {
674671
UseSpans::ClosureUse { path_span: span, .. }
675672
| UseSpans::PatUse(span)
676673
| UseSpans::OtherUse(span) => span,
677-
UseSpans::FnSelfUse { fn_call_span, kind: CallKind::DerefCoercion { .. }, .. } => {
678-
fn_call_span
679-
}
680674
UseSpans::FnSelfUse { var_span, .. } => var_span,
681675
}
682676
}
@@ -687,9 +681,6 @@ impl UseSpans<'_> {
687681
UseSpans::ClosureUse { capture_kind_span: span, .. }
688682
| UseSpans::PatUse(span)
689683
| UseSpans::OtherUse(span) => span,
690-
UseSpans::FnSelfUse { fn_call_span, kind: CallKind::DerefCoercion { .. }, .. } => {
691-
fn_call_span
692-
}
693684
UseSpans::FnSelfUse { var_span, .. } => var_span,
694685
}
695686
}

tests/ui/moves/move-deref-coercion.stderr

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ error[E0382]: borrow of partially moved value: `val`
44
LL | let _val = val.first;
55
| --------- value partially moved here
66
LL | val.inner;
7-
| ^^^^^^^^^ value borrowed here after partial move
7+
| ^^^ value borrowed here after partial move
88
|
99
= note: partial move occurs because `val.first` has type `NotCopy`, which does not implement the `Copy` trait
1010
= note: borrow occurs due to deref coercion to `NotCopy`
@@ -20,7 +20,7 @@ error[E0382]: borrow of partially moved value: `val`
2020
LL | let _val = val.first;
2121
| --------- value partially moved here
2222
LL | val.inner_method();
23-
| ^^^^^^^^^^^^^^^^^^ value borrowed here after partial move
23+
| ^^^ value borrowed here after partial move
2424
|
2525
= note: partial move occurs because `val.first` has type `NotCopy`, which does not implement the `Copy` trait
2626
= note: borrow occurs due to deref coercion to `NotCopy`

tests/ui/no-capture-arc.stderr

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
error[E0382]: borrow of moved value: `arc_v`
2-
--> $DIR/no-capture-arc.rs:14:16
2+
--> $DIR/no-capture-arc.rs:14:18
33
|
44
LL | let arc_v = Arc::new(v);
55
| ----- move occurs because `arc_v` has type `Arc<Vec<i32>>`, which does not implement the `Copy` trait
@@ -10,7 +10,7 @@ LL | assert_eq!((*arc_v)[3], 4);
1010
| ----- variable moved due to use in closure
1111
...
1212
LL | assert_eq!((*arc_v)[2], 3);
13-
| ^^^^^^^^ value borrowed here after move
13+
| ^^^^^ value borrowed here after move
1414
|
1515
= note: borrow occurs due to deref coercion to `Vec<i32>`
1616

tests/ui/no-reuse-move-arc.stderr

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
error[E0382]: borrow of moved value: `arc_v`
2-
--> $DIR/no-reuse-move-arc.rs:12:16
2+
--> $DIR/no-reuse-move-arc.rs:12:18
33
|
44
LL | let arc_v = Arc::new(v);
55
| ----- move occurs because `arc_v` has type `Arc<Vec<i32>>`, which does not implement the `Copy` trait
@@ -10,7 +10,7 @@ LL | assert_eq!((*arc_v)[3], 4);
1010
| ----- variable moved due to use in closure
1111
...
1212
LL | assert_eq!((*arc_v)[2], 3);
13-
| ^^^^^^^^ value borrowed here after move
13+
| ^^^^^ value borrowed here after move
1414
|
1515
= note: borrow occurs due to deref coercion to `Vec<i32>`
1616

0 commit comments

Comments
 (0)