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) {
138138void TypeInfo::callOutlinedCopy (IRGenFunction &IGF, Address dest, Address src,
139139 SILType T, IsInitialization_t isInit,
140140 IsTake_t isTake) const {
141- if (!IGF.IGM .getOptions ().UseTypeLayoutValueHandling ) {
141+ if (!T.hasLocalArchetype () &&
142+ !IGF.IGM .getOptions ().UseTypeLayoutValueHandling ) {
142143 OutliningMetadataCollector collector (IGF);
143144 if (T.hasArchetype ()) {
144145 collectMetadataForOutlining (collector, T);
@@ -340,7 +341,8 @@ void TypeInfo::callOutlinedDestroy(IRGenFunction &IGF,
340341 if (IGF.IGM .getTypeLowering (T).isTrivial ())
341342 return ;
342343
343- if (!IGF.IGM .getOptions ().UseTypeLayoutValueHandling ) {
344+ if (!T.hasLocalArchetype () &&
345+ !IGF.IGM .getOptions ().UseTypeLayoutValueHandling ) {
344346 OutliningMetadataCollector collector (IGF);
345347 if (T.hasArchetype ()) {
346348 collectMetadataForOutlining (collector, T);
You can’t perform that action at this time.
0 commit comments