@@ -375,12 +375,14 @@ static bool modResultType(SILFunction *F, irgen::IRGenModule &Mod,
375375static bool shouldTransformYields (GenericEnvironment *genEnv,
376376 CanSILFunctionType loweredTy,
377377 irgen::IRGenModule &Mod,
378- LargeSILTypeMapper &Mapper) {
378+ LargeSILTypeMapper &Mapper,
379+ TypeExpansionContext expansion) {
379380 if (!modifiableFunction (loweredTy)) {
380381 return false ;
381382 }
382383 for (auto &yield : loweredTy->getYields ()) {
383- auto yieldStorageType = yield.getSILStorageInterfaceType ();
384+ auto yieldStorageType = yield.getSILStorageType (Mod.getSILModule (),
385+ loweredTy, expansion);
384386 auto newYieldStorageType =
385387 Mapper.getNewSILType (genEnv, yieldStorageType, Mod);
386388 if (yieldStorageType != newYieldStorageType)
@@ -394,7 +396,8 @@ static bool modYieldType(SILFunction *F, irgen::IRGenModule &Mod,
394396 GenericEnvironment *genEnv = getSubstGenericEnvironment (F);
395397 auto loweredTy = F->getLoweredFunctionType ();
396398
397- return shouldTransformYields (genEnv, loweredTy, Mod, Mapper);
399+ return shouldTransformYields (genEnv, loweredTy, Mod, Mapper,
400+ F->getTypeExpansionContext ());
398401}
399402
400403SILParameterInfo LargeSILTypeMapper::getNewParameter (GenericEnvironment *env,
0 commit comments