diff options
Diffstat (limited to 'compiler/rustc_mir/src/borrow_check/invalidation.rs')
| -rw-r--r-- | compiler/rustc_mir/src/borrow_check/invalidation.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/compiler/rustc_mir/src/borrow_check/invalidation.rs b/compiler/rustc_mir/src/borrow_check/invalidation.rs index 1a3ba16585d..276d9381e32 100644 --- a/compiler/rustc_mir/src/borrow_check/invalidation.rs +++ b/compiler/rustc_mir/src/borrow_check/invalidation.rs @@ -92,6 +92,21 @@ impl<'cx, 'tcx> Visitor<'tcx> for InvalidationGenerator<'cx, 'tcx> { self.consume_operand(location, input); } } + StatementKind::CopyNonOverlapping(box rustc_middle::mir::CopyNonOverlapping { + ref src, + ref dst, + ref size, + }) => { + self.consume_operand(location, src); + self.consume_operand(location, dst); + self.consume_operand(location, size); + match dst { + Operand::Move(ref place) | Operand::Copy(ref place) => { + self.mutate_place(location, *place, Deep, JustWrite); + } + _ => {} + } + } StatementKind::Nop | StatementKind::Coverage(..) | StatementKind::AscribeUserType(..) |
