about summary refs log tree commit diff
path: root/compiler/rustc_mir/src/transform/coverage/query.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2020-11-04 22:45:15 +0000
committerbors <bors@rust-lang.org>2020-11-04 22:45:15 +0000
commit0c1531a5c4269b0d0bc7cff53420f936b42ce1ab (patch)
treeb37cad4cb289ecd40ef937e9ab2bf59d62acc3f5 /compiler/rustc_mir/src/transform/coverage/query.rs
parent83edb2f4e40d6acad168497703028c41b5bdb071 (diff)
parent5f973264bdcd75b8d0cc3613dcfe5b7608e435d3 (diff)
downloadrust-0c1531a5c4269b0d0bc7cff53420f936b42ce1ab.tar.gz
rust-0c1531a5c4269b0d0bc7cff53420f936b42ce1ab.zip
Auto merge of #78662 - sexxi-goose:add_expr_id_to_delegate, r=nikomatsakis
Provide diagnostic suggestion in ExprUseVisitor Delegate

The [Delegate trait](https://github.com/rust-lang/rust/blob/981346fc07dd5ef414c5b1b21999f7604cece006/compiler/rustc_typeck/src/expr_use_visitor.rs#L28-L38) currently use `PlaceWithHirId` which is composed of Hir `Place` and the
corresponding expression id.

Even though this is an accurate way of expressing how a Place is used,
it can cause confusion during diagnostics.

Eg:

```
let arr : [String; 5];

let [a, ...]     =   arr;
 ^^^ E1 ^^^      =  ^^E2^^
 ```

 Here `arr` is moved because of the binding created E1. However, when we
 point to E1 in diagnostics with the message `arr` was moved, it can be
 confusing.  Rather we would like to report E2 to the user.

 Closes: https://github.com/rust-lang/project-rfc-2229/issues/20

r? `@ghost`
Diffstat (limited to 'compiler/rustc_mir/src/transform/coverage/query.rs')
0 files changed, 0 insertions, 0 deletions