@@ -3396,7 +3396,7 @@ CanPackType CanPackType::get(const ASTContext &C,
3396
3396
}
3397
3397
3398
3398
PackType *PackType::get (const ASTContext &C, ArrayRef<Type> elements) {
3399
- RecursiveTypeProperties properties;
3399
+ RecursiveTypeProperties properties = RecursiveTypeProperties::HasConcretePack ;
3400
3400
bool isCanonical = true ;
3401
3401
for (Type eltTy : elements) {
3402
3402
assert (!eltTy->is <PackType>() &&
@@ -3436,7 +3436,7 @@ void PackType::Profile(llvm::FoldingSetNodeID &ID, ArrayRef<Type> Elements) {
3436
3436
3437
3437
CanSILPackType SILPackType::get (const ASTContext &C, ExtInfo info,
3438
3438
ArrayRef<CanType> elements) {
3439
- RecursiveTypeProperties properties;
3439
+ RecursiveTypeProperties properties = RecursiveTypeProperties::HasConcretePack ;
3440
3440
for (CanType eltTy : elements) {
3441
3441
assert (!isa<SILPackType>(eltTy) &&
3442
3442
" Cannot have pack directly inside another pack" );
@@ -4028,7 +4028,7 @@ isAnyFunctionTypeCanonical(ArrayRef<AnyFunctionType::Param> params,
4028
4028
static RecursiveTypeProperties
4029
4029
getGenericFunctionRecursiveProperties (ArrayRef<AnyFunctionType::Param> params,
4030
4030
Type result) {
4031
- static_assert (RecursiveTypeProperties::BitWidth == 16 ,
4031
+ static_assert (RecursiveTypeProperties::BitWidth == 17 ,
4032
4032
" revisit this if you add new recursive type properties" );
4033
4033
RecursiveTypeProperties properties;
4034
4034
@@ -4689,7 +4689,7 @@ CanSILFunctionType SILFunctionType::get(
4689
4689
void *mem = ctx.Allocate (bytes, alignof (SILFunctionType));
4690
4690
4691
4691
RecursiveTypeProperties properties;
4692
- static_assert (RecursiveTypeProperties::BitWidth == 16 ,
4692
+ static_assert (RecursiveTypeProperties::BitWidth == 17 ,
4693
4693
" revisit this if you add new recursive type properties" );
4694
4694
for (auto ¶m : params)
4695
4695
properties |= param.getInterfaceType ()->getRecursiveProperties ();
0 commit comments