@@ -3312,7 +3312,7 @@ CanPackType CanPackType::get(const ASTContext &C,
3312
3312
}
3313
3313
3314
3314
PackType *PackType::get (const ASTContext &C, ArrayRef<Type> elements) {
3315
- RecursiveTypeProperties properties;
3315
+ RecursiveTypeProperties properties = RecursiveTypeProperties::HasConcretePack ;
3316
3316
bool isCanonical = true ;
3317
3317
for (Type eltTy : elements) {
3318
3318
assert (!eltTy->is <PackType>() &&
@@ -3352,7 +3352,7 @@ void PackType::Profile(llvm::FoldingSetNodeID &ID, ArrayRef<Type> Elements) {
3352
3352
3353
3353
CanSILPackType SILPackType::get (const ASTContext &C, ExtInfo info,
3354
3354
ArrayRef<CanType> elements) {
3355
- RecursiveTypeProperties properties;
3355
+ RecursiveTypeProperties properties = RecursiveTypeProperties::HasConcretePack ;
3356
3356
for (CanType eltTy : elements) {
3357
3357
assert (!isa<SILPackType>(eltTy) &&
3358
3358
" Cannot have pack directly inside another pack" );
@@ -3944,7 +3944,7 @@ isAnyFunctionTypeCanonical(ArrayRef<AnyFunctionType::Param> params,
3944
3944
static RecursiveTypeProperties
3945
3945
getGenericFunctionRecursiveProperties (ArrayRef<AnyFunctionType::Param> params,
3946
3946
Type result) {
3947
- static_assert (RecursiveTypeProperties::BitWidth == 15 ,
3947
+ static_assert (RecursiveTypeProperties::BitWidth == 16 ,
3948
3948
" revisit this if you add new recursive type properties" );
3949
3949
RecursiveTypeProperties properties;
3950
3950
@@ -4604,7 +4604,7 @@ CanSILFunctionType SILFunctionType::get(
4604
4604
void *mem = ctx.Allocate (bytes, alignof (SILFunctionType));
4605
4605
4606
4606
RecursiveTypeProperties properties;
4607
- static_assert (RecursiveTypeProperties::BitWidth == 15 ,
4607
+ static_assert (RecursiveTypeProperties::BitWidth == 16 ,
4608
4608
" revisit this if you add new recursive type properties" );
4609
4609
for (auto ¶m : params)
4610
4610
properties |= param.getInterfaceType ()->getRecursiveProperties ();
0 commit comments