@@ -3340,7 +3340,7 @@ CanPackType CanPackType::get(const ASTContext &C,
3340
3340
}
3341
3341
3342
3342
PackType *PackType::get (const ASTContext &C, ArrayRef<Type> elements) {
3343
- RecursiveTypeProperties properties;
3343
+ RecursiveTypeProperties properties = RecursiveTypeProperties::HasConcretePack ;
3344
3344
bool isCanonical = true ;
3345
3345
for (Type eltTy : elements) {
3346
3346
assert (!eltTy->is <PackType>() &&
@@ -3380,7 +3380,7 @@ void PackType::Profile(llvm::FoldingSetNodeID &ID, ArrayRef<Type> Elements) {
3380
3380
3381
3381
CanSILPackType SILPackType::get (const ASTContext &C, ExtInfo info,
3382
3382
ArrayRef<CanType> elements) {
3383
- RecursiveTypeProperties properties;
3383
+ RecursiveTypeProperties properties = RecursiveTypeProperties::HasConcretePack ;
3384
3384
for (CanType eltTy : elements) {
3385
3385
assert (!isa<SILPackType>(eltTy) &&
3386
3386
" Cannot have pack directly inside another pack" );
@@ -3972,7 +3972,7 @@ isAnyFunctionTypeCanonical(ArrayRef<AnyFunctionType::Param> params,
3972
3972
static RecursiveTypeProperties
3973
3973
getGenericFunctionRecursiveProperties (ArrayRef<AnyFunctionType::Param> params,
3974
3974
Type result) {
3975
- static_assert (RecursiveTypeProperties::BitWidth == 16 ,
3975
+ static_assert (RecursiveTypeProperties::BitWidth == 17 ,
3976
3976
" revisit this if you add new recursive type properties" );
3977
3977
RecursiveTypeProperties properties;
3978
3978
@@ -4632,7 +4632,7 @@ CanSILFunctionType SILFunctionType::get(
4632
4632
void *mem = ctx.Allocate (bytes, alignof (SILFunctionType));
4633
4633
4634
4634
RecursiveTypeProperties properties;
4635
- static_assert (RecursiveTypeProperties::BitWidth == 16 ,
4635
+ static_assert (RecursiveTypeProperties::BitWidth == 17 ,
4636
4636
" revisit this if you add new recursive type properties" );
4637
4637
for (auto ¶m : params)
4638
4638
properties |= param.getInterfaceType ()->getRecursiveProperties ();
0 commit comments