File tree Expand file tree Collapse file tree 1 file changed +4
-2
lines changed Expand file tree Collapse file tree 1 file changed +4
-2
lines changed Original file line number Diff line number Diff line change @@ -138,7 +138,8 @@ irgen::getTypeAndGenericSignatureForManglingOutlineFunction(SILType type) {
138
138
void TypeInfo::callOutlinedCopy (IRGenFunction &IGF, Address dest, Address src,
139
139
SILType T, IsInitialization_t isInit,
140
140
IsTake_t isTake) const {
141
- if (!IGF.IGM .getOptions ().UseTypeLayoutValueHandling ) {
141
+ if (!T.hasLocalArchetype () &&
142
+ !IGF.IGM .getOptions ().UseTypeLayoutValueHandling ) {
142
143
OutliningMetadataCollector collector (IGF);
143
144
if (T.hasArchetype ()) {
144
145
collectMetadataForOutlining (collector, T);
@@ -340,7 +341,8 @@ void TypeInfo::callOutlinedDestroy(IRGenFunction &IGF,
340
341
if (IGF.IGM .getTypeLowering (T).isTrivial ())
341
342
return ;
342
343
343
- if (!IGF.IGM .getOptions ().UseTypeLayoutValueHandling ) {
344
+ if (!T.hasLocalArchetype () &&
345
+ !IGF.IGM .getOptions ().UseTypeLayoutValueHandling ) {
344
346
OutliningMetadataCollector collector (IGF);
345
347
if (T.hasArchetype ()) {
346
348
collectMetadataForOutlining (collector, T);
You can’t perform that action at this time.
0 commit comments