@@ -3313,6 +3313,7 @@ lowerKeyPathSubscriptIndexTypes(
3313
3313
SmallVectorImpl<IndexTypePair> &indexPatterns,
3314
3314
SubscriptDecl *subscript,
3315
3315
SubstitutionMap subscriptSubs,
3316
+ ResilienceExpansion expansion,
3316
3317
bool &needsGenericContext) {
3317
3318
// Capturing an index value dependent on the generic context means we
3318
3319
// need the generic context captured in the key path.
@@ -3330,11 +3331,9 @@ lowerKeyPathSubscriptIndexTypes(
3330
3331
indexTy = indexTy.subst (subscriptSubs);
3331
3332
}
3332
3333
3333
- // FIXME: Expansion
3334
3334
auto indexLoweredTy = SGM.Types .getLoweredType (
3335
3335
AbstractionPattern::getOpaque (),
3336
- indexTy,
3337
- ResilienceExpansion::Minimal);
3336
+ indexTy, expansion);
3338
3337
indexLoweredTy = indexLoweredTy.mapTypeOutOfContext ();
3339
3338
indexPatterns.push_back ({indexTy->mapTypeOutOfContext ()
3340
3339
->getCanonicalType (),
@@ -3531,6 +3530,7 @@ SILGenModule::emitKeyPathComponentForDecl(SILLocation loc,
3531
3530
SmallVector<IndexTypePair, 4 > indexTypes;
3532
3531
lowerKeyPathSubscriptIndexTypes (*this , indexTypes,
3533
3532
decl, subs,
3533
+ expansion,
3534
3534
needsGenericContext);
3535
3535
3536
3536
SmallVector<KeyPathPatternComponent::Index, 4 > indexPatterns;
0 commit comments