@@ -585,12 +585,17 @@ impl Conflicts<'a> {
585585
586586 fn record_terminator_conflicts ( & mut self , term : & Terminator < ' _ > ) {
587587 match & term. kind {
588- TerminatorKind :: DropAndReplace { location, value, target : _, unwind : _ } => {
588+ TerminatorKind :: DropAndReplace {
589+ place : dropped_place,
590+ value,
591+ target : _,
592+ unwind : _,
593+ } => {
589594 if let Some ( place) = value. place ( ) {
590- if !place. is_indirect ( ) && !location . is_indirect ( ) {
595+ if !place. is_indirect ( ) && !dropped_place . is_indirect ( ) {
591596 self . record_local_conflict (
592597 place. local ,
593- location . local ,
598+ dropped_place . local ,
594599 "DropAndReplace operand overlap" ,
595600 ) ;
596601 }
@@ -613,6 +618,7 @@ impl Conflicts<'a> {
613618 destination : Some ( ( dest_place, _) ) ,
614619 cleanup : _,
615620 from_hir_call : _,
621+ fn_span : _,
616622 } => {
617623 // No arguments may overlap with the destination.
618624 for arg in args. iter ( ) . chain ( Some ( func) ) {
@@ -701,7 +707,7 @@ impl Conflicts<'a> {
701707 InlineAsmOperand :: Out { reg : _, late : _, place : None }
702708 | InlineAsmOperand :: Const { value : _ }
703709 | InlineAsmOperand :: SymFn { value : _ }
704- | InlineAsmOperand :: SymStatic { value : _ } => { }
710+ | InlineAsmOperand :: SymStatic { def_id : _ } => { }
705711 }
706712 }
707713 }
@@ -717,7 +723,7 @@ impl Conflicts<'a> {
717723 | InlineAsmOperand :: In { reg : _, value : _ }
718724 | InlineAsmOperand :: Out { reg : _, late : _, place : None }
719725 | InlineAsmOperand :: SymFn { value : _ }
720- | InlineAsmOperand :: SymStatic { value : _ } => { }
726+ | InlineAsmOperand :: SymStatic { def_id : _ } => { }
721727 }
722728 }
723729 }
@@ -732,7 +738,7 @@ impl Conflicts<'a> {
732738 | TerminatorKind :: Drop { .. }
733739 | TerminatorKind :: Assert { .. }
734740 | TerminatorKind :: GeneratorDrop
735- | TerminatorKind :: FalseEdges { .. }
741+ | TerminatorKind :: FalseEdge { .. }
736742 | TerminatorKind :: FalseUnwind { .. } => { }
737743 }
738744 }
@@ -759,7 +765,7 @@ impl Conflicts<'a> {
759765 }
760766
761767 /// Merges the conflicts of `a` and `b`, so that each one inherits all conflicts of the other.
762- ///
768+ ///
763769 /// `can_unify` must have returned `true` for the same locals, or this may panic or lead to
764770 /// miscompiles.
765771 ///
0 commit comments