@@ -3396,7 +3396,7 @@ CanPackType CanPackType::get(const ASTContext &C,
33963396}
33973397
33983398PackType *PackType::get (const ASTContext &C, ArrayRef<Type> elements) {
3399- RecursiveTypeProperties properties;
3399+ RecursiveTypeProperties properties = RecursiveTypeProperties::HasConcretePack ;
34003400 bool isCanonical = true ;
34013401 for (Type eltTy : elements) {
34023402 assert (!eltTy->is <PackType>() &&
@@ -3436,7 +3436,7 @@ void PackType::Profile(llvm::FoldingSetNodeID &ID, ArrayRef<Type> Elements) {
34363436
34373437CanSILPackType SILPackType::get (const ASTContext &C, ExtInfo info,
34383438 ArrayRef<CanType> elements) {
3439- RecursiveTypeProperties properties;
3439+ RecursiveTypeProperties properties = RecursiveTypeProperties::HasConcretePack ;
34403440 for (CanType eltTy : elements) {
34413441 assert (!isa<SILPackType>(eltTy) &&
34423442 " Cannot have pack directly inside another pack" );
@@ -4028,7 +4028,7 @@ isAnyFunctionTypeCanonical(ArrayRef<AnyFunctionType::Param> params,
40284028static RecursiveTypeProperties
40294029getGenericFunctionRecursiveProperties (ArrayRef<AnyFunctionType::Param> params,
40304030 Type result) {
4031- static_assert (RecursiveTypeProperties::BitWidth == 16 ,
4031+ static_assert (RecursiveTypeProperties::BitWidth == 17 ,
40324032 " revisit this if you add new recursive type properties" );
40334033 RecursiveTypeProperties properties;
40344034
@@ -4689,7 +4689,7 @@ CanSILFunctionType SILFunctionType::get(
46894689 void *mem = ctx.Allocate (bytes, alignof (SILFunctionType));
46904690
46914691 RecursiveTypeProperties properties;
4692- static_assert (RecursiveTypeProperties::BitWidth == 16 ,
4692+ static_assert (RecursiveTypeProperties::BitWidth == 17 ,
46934693 " revisit this if you add new recursive type properties" );
46944694 for (auto ¶m : params)
46954695 properties |= param.getInterfaceType ()->getRecursiveProperties ();
0 commit comments