We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 1228265 commit 6cdfc29Copy full SHA for 6cdfc29
lib/SIL/IR/TypeLowering.cpp
@@ -2558,7 +2558,11 @@ TypeConverter::getTypeLowering(SILType type,
2558
CanGenericSignature sig) {
2559
// The type lowering for a type parameter relies on its context.
2560
assert(sig || !type.getASTType()->hasTypeParameter());
2561
- auto loweredType = type.getASTType();
+
2562
+ // We use the Raw AST type to ensure that moveonlywrapped values use the move
2563
+ // only type lowering. This ensures that trivial moveonlywrapped values are
2564
+ // not trivial.
2565
+ auto loweredType = type.getRawASTType();
2566
auto isTypeExpansionSensitive = loweredType->hasOpaqueArchetype()
2567
? IsTypeExpansionSensitive
2568
: IsNotTypeExpansionSensitive;
0 commit comments