@@ -805,22 +805,22 @@ class LetValueInitialization : public Initialization {
805
805
MarkMustCheckInst::CheckKind::ConsumableAndAssignable);
806
806
}
807
807
808
- // Otherwise, if we do not have a no implicit copy variable, just follow
809
- // the "normal path": perform a lexical borrow if the lifetime is lexical.
810
- if (!vd->isNoImplicitCopy ()) {
811
- if (SGF.F .getLifetime (vd, value->getType ()).isLexical ())
812
- return SGF.B .createBeginBorrow (PrologueLoc, value, /* isLexical*/ true );
813
- else
814
- return value;
815
- }
816
-
817
808
// If we have a no implicit copy lexical, emit the instruction stream so
818
809
// that the move checker knows to check this variable.
819
- value = SGF.B .createMoveValue (PrologueLoc, value, /* IisLexical*/ true );
820
- value = SGF.B .createOwnedCopyableToMoveOnlyWrapperValue (PrologueLoc, value);
821
- return SGF.B .createMarkMustCheckInst (
822
- PrologueLoc, value,
823
- MarkMustCheckInst::CheckKind::ConsumableAndAssignable);
810
+ if (vd->isNoImplicitCopy ()) {
811
+ value = SGF.B .createMoveValue (PrologueLoc, value, /* IisLexical*/ true );
812
+ value = SGF.B .createOwnedCopyableToMoveOnlyWrapperValue (PrologueLoc, value);
813
+ return SGF.B .createMarkMustCheckInst (
814
+ PrologueLoc, value,
815
+ MarkMustCheckInst::CheckKind::ConsumableAndAssignable);
816
+ }
817
+
818
+ // Otherwise, if we do not have a no implicit copy variable, just follow
819
+ // the "normal path": perform a lexical borrow if the lifetime is lexical.
820
+ if (SGF.F .getLifetime (vd, value->getType ()).isLexical ())
821
+ return SGF.B .createBeginBorrow (PrologueLoc, value, /* isLexical*/ true );
822
+ else
823
+ return value;
824
824
}
825
825
826
826
void bindValue (SILValue value, SILGenFunction &SGF, bool wasPlusOne,
0 commit comments