File tree Expand file tree Collapse file tree 2 files changed +27
-5
lines changed Expand file tree Collapse file tree 2 files changed +27
-5
lines changed Original file line number Diff line number Diff line change @@ -3000,6 +3000,7 @@ bool TypeConverter::visitAggregateLeaves(
30003000 return isa<SILPackType>(ty) ||
30013001 isa<TupleType>(ty) ||
30023002 isa<PackExpansionType>(ty) ||
3003+ isa<BuiltinFixedArrayType>(ty) ||
30033004 ty.getEnumOrBoundGenericEnum () ||
30043005 ty.getStructOrBoundGenericStruct ();
30053006 };
@@ -3036,6 +3037,13 @@ bool TypeConverter::visitAggregateLeaves(
30363037 insertIntoWorklist (expansion.getPatternType (),
30373038 origTy.getPackExpansionPatternType (),
30383039 field, index);
3040+ } else if (auto array = dyn_cast<BuiltinFixedArrayType>(ty)) {
3041+ auto origBFA = origTy.getAs <BuiltinFixedArrayType>();
3042+ insertIntoWorklist (
3043+ array->getElementType (),
3044+ AbstractionPattern (origTy.getGenericSignatureOrNull (),
3045+ origBFA->getElementType ()),
3046+ field, index);
30393047 } else if (auto *decl = ty.getStructOrBoundGenericStruct ()) {
30403048 for (auto *structField : decl->getStoredProperties ()) {
30413049 auto subMap = ty->getContextSubstitutionMap ();
Original file line number Diff line number Diff line change 1- // RUN: %target-swift-frontend \
2- // RUN: %s \
3- // RUN: -emit-silgen \
4- // RUN: -target %target-swift-5.1-abi-triple \
5- // RUN: -enable-experimental-feature Sensitive \
1+ // RUN: %target-swift-frontend \
2+ // RUN: %s \
3+ // RUN: -emit-silgen \
4+ // RUN: -disable-experimental-parser-round-trip \
5+ // RUN: -target %target-swift-5.1-abi-triple \
6+ // RUN: -enable-experimental-feature Sensitive \
7+ // RUN: -enable-experimental-feature ValueGenerics \
68// RUN: -enable-builtin-module
79
10+ // FIXME: Remove -disable-experimental-parser-round-trip when it's not required for using ValueGenerics.
11+
812// REQUIRES: swift_feature_Sensitive
13+ // REQUIRES: swift_feature_ValueGenerics
14+
15+ // REQUIRES: asserts
916
1017// Force verification of TypeLowering's isTrivial.
1118
@@ -68,3 +75,10 @@ struct S_Explicit_Sensitive {
6875
6976func takeS_Explicit_Sensitive( _ s: S_Explicit_Sensitive ) {
7077}
78+
79+ import Builtin
80+
81+ func foo( ) {
82+ let bricks : Builtin . FixedArray < 1 , Conditional < Int > >
83+ let bricks2 : Builtin . FixedArray < 1 , Conditional < String > >
84+ }
You can’t perform that action at this time.
0 commit comments