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 77f9486 commit 4de6dcaCopy full SHA for 4de6dca
include/swift/SIL/TypeSubstCloner.h
@@ -205,7 +205,18 @@ class TypeSubstCloner : public SILClonerWithScopes<ImplClass> {
205
}
206
207
SubstitutionMap remapSubstitutionMap(SubstitutionMap Subs) {
208
- return Subs.subst(SubsMap);
+ auto context = getBuilder().getTypeExpansionContext();
209
+
210
+ Subs = Subs.subst(SubsMap);
211
+ if (!Subs.hasOpaqueArchetypes() ||
212
+ !context.shouldLookThroughOpaqueTypeArchetypes())
213
+ return Subs;
214
215
+ ReplaceOpaqueTypesWithUnderlyingTypes replacer(
216
+ context.getContext(), context.getResilienceExpansion(),
217
+ context.isWholeModuleContext());
218
+ return Subs.subst(replacer, replacer,
219
+ SubstFlags::SubstituteOpaqueArchetypes);
220
221
222
void visitApplyInst(ApplyInst *Inst) {
0 commit comments