ArrayElementValuePropagation: fix a wrong substituted function type for the generated reserveCapacity function call

This commit is contained in:
Erik Eckstein
2017-04-27 14:50:41 -07:00
parent 2e6bdbc1fa
commit c343ab6907
2 changed files with 3 additions and 2 deletions

View File

@@ -734,7 +734,8 @@ bool swift::ArraySemanticsCall::replaceByAppendingValues(
Builder.createIntegerLiteral(Loc, BuiltinIntTy, Vals.size());
StructInst *Capacity = Builder.createStruct(Loc,
SILType::getPrimitiveObjectType(CanType(IntType)), {CapacityLiteral});
Builder.createApply(Loc, ReserveFnRef, FnTy.substGenericArgs(M, Subs),
Builder.createApply(Loc, ReserveFnRef,
ReserveFnRef->getType().substGenericArgs(M, Subs),
ReserveFnTy->getAllResultsType(), Subs,
{Capacity, ArrRef}, false);
}