@@ -3340,7 +3340,7 @@ CanPackType CanPackType::get(const ASTContext &C,
33403340}
33413341
33423342PackType *PackType::get (const ASTContext &C, ArrayRef<Type> elements) {
3343- RecursiveTypeProperties properties;
3343+ RecursiveTypeProperties properties = RecursiveTypeProperties::HasConcretePack ;
33443344 bool isCanonical = true ;
33453345 for (Type eltTy : elements) {
33463346 assert (!eltTy->is <PackType>() &&
@@ -3380,7 +3380,7 @@ void PackType::Profile(llvm::FoldingSetNodeID &ID, ArrayRef<Type> Elements) {
33803380
33813381CanSILPackType SILPackType::get (const ASTContext &C, ExtInfo info,
33823382 ArrayRef<CanType> elements) {
3383- RecursiveTypeProperties properties;
3383+ RecursiveTypeProperties properties = RecursiveTypeProperties::HasConcretePack ;
33843384 for (CanType eltTy : elements) {
33853385 assert (!isa<SILPackType>(eltTy) &&
33863386 " Cannot have pack directly inside another pack" );
@@ -3972,7 +3972,7 @@ isAnyFunctionTypeCanonical(ArrayRef<AnyFunctionType::Param> params,
39723972static RecursiveTypeProperties
39733973getGenericFunctionRecursiveProperties (ArrayRef<AnyFunctionType::Param> params,
39743974 Type result) {
3975- static_assert (RecursiveTypeProperties::BitWidth == 16 ,
3975+ static_assert (RecursiveTypeProperties::BitWidth == 17 ,
39763976 " revisit this if you add new recursive type properties" );
39773977 RecursiveTypeProperties properties;
39783978
@@ -4632,7 +4632,7 @@ CanSILFunctionType SILFunctionType::get(
46324632 void *mem = ctx.Allocate (bytes, alignof (SILFunctionType));
46334633
46344634 RecursiveTypeProperties properties;
4635- static_assert (RecursiveTypeProperties::BitWidth == 16 ,
4635+ static_assert (RecursiveTypeProperties::BitWidth == 17 ,
46364636 " revisit this if you add new recursive type properties" );
46374637 for (auto ¶m : params)
46384638 properties |= param.getInterfaceType ()->getRecursiveProperties ();
0 commit comments