diff options
| author | Santiago Pastorino <spastorino@gmail.com> | 2019-08-24 20:53:20 -0400 |
|---|---|---|
| committer | Santiago Pastorino <spastorino@gmail.com> | 2019-09-09 18:16:49 -0300 |
| commit | e73d189e4e2ad55fcea595a14f9adea0960c65a1 (patch) | |
| tree | ce621cff756536af0695cb5bd0d437e661d71dd3 /src/librustc_mir/dataflow | |
| parent | b04e6c734451acc8b97657a906dda535874c82cf (diff) | |
| download | rust-e73d189e4e2ad55fcea595a14f9adea0960c65a1.tar.gz rust-e73d189e4e2ad55fcea595a14f9adea0960c65a1.zip | |
Use slice patterns to match projection base
Diffstat (limited to 'src/librustc_mir/dataflow')
| -rw-r--r-- | src/librustc_mir/dataflow/move_paths/builder.rs | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/librustc_mir/dataflow/move_paths/builder.rs b/src/librustc_mir/dataflow/move_paths/builder.rs index 1d99470d08b..a4427287c4f 100644 --- a/src/librustc_mir/dataflow/move_paths/builder.rs +++ b/src/librustc_mir/dataflow/move_paths/builder.rs @@ -436,8 +436,7 @@ impl<'b, 'a, 'tcx> Gatherer<'b, 'a, 'tcx> { // Check if we are assigning into a field of a union, if so, lookup the place // of the union so it is marked as initialized again. - if let [.., ProjectionElem::Field(_, _)] = place.projection { - let proj_base = &place.projection[..place.projection.len() - 1]; + if let [proj_base @ .., ProjectionElem::Field(_, _)] = place.projection { if let ty::Adt(def, _) = Place::ty_from(place.base, proj_base, self.builder.body, self.builder.tcx).ty.sty { |
