@@ -561,7 +561,7 @@ class LocalVariableInitialization : public SingleBufferInitialization {
561561
562562 // If our instance type is not already @moveOnly wrapped, and it's a
563563 // no-implicit-copy parameter, wrap it.
564- if (!isNoImplicitCopy && ! instanceType->isNoncopyable ()) {
564+ if (!isNoImplicitCopy && instanceType->isCopyable ()) {
565565 if (auto *pd = dyn_cast<ParamDecl>(decl)) {
566566 isNoImplicitCopy = pd->isNoImplicitCopy ();
567567 isNoImplicitCopy |= pd->getSpecifier () == ParamSpecifier::Consuming;
@@ -577,7 +577,7 @@ class LocalVariableInitialization : public SingleBufferInitialization {
577577 }
578578 }
579579
580- const bool isCopyable = isNoImplicitCopy || ! instanceType->isNoncopyable ();
580+ const bool isCopyable = isNoImplicitCopy || instanceType->isCopyable ();
581581
582582 auto boxType = SGF.SGM .Types .getContextBoxTypeForCapture (
583583 decl, instanceType, SGF.F .getGenericEnvironment (),
@@ -1548,7 +1548,7 @@ SILGenFunction::emitInitializationForVarDecl(VarDecl *vd, bool forceImmutable,
15481548 // If this is a 'let' initialization for a copyable non-global, set up a let
15491549 // binding, which stores the initialization value into VarLocs directly.
15501550 if (forceImmutable && vd->getDeclContext ()->isLocalContext () &&
1551- !isa<ReferenceStorageType>(varType) && ! varType->isNoncopyable ())
1551+ !isa<ReferenceStorageType>(varType) && varType->isCopyable ())
15521552 return InitializationPtr (new LetValueInitialization (vd, *this ));
15531553
15541554 // If the variable has no initial value, emit a mark_uninitialized instruction
0 commit comments