Use slice patterns to match projection base
This commit is contained in:
parent
b04e6c7344
commit
e73d189e4e
12 changed files with 66 additions and 117 deletions
|
|
@ -720,12 +720,9 @@ macro_rules! make_mir_visitor {
|
|||
projection: & $($mutability)? [PlaceElem<'tcx>],
|
||||
context: PlaceContext,
|
||||
location: Location) {
|
||||
if !projection.is_empty() {
|
||||
let proj_len = projection.len();
|
||||
let proj_base = & $($mutability)? projection[..proj_len - 1];
|
||||
if let [proj_base @ .., elem] = projection {
|
||||
self.visit_projection(base, proj_base, context, location);
|
||||
|
||||
let elem = & $($mutability)? projection[proj_len - 1];
|
||||
match elem {
|
||||
ProjectionElem::Field(_field, ty) => {
|
||||
self.visit_ty(ty, TyContext::Location(location));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue