@@ -7402,6 +7402,7 @@ ConstraintSystem::matchTypes(Type type1, Type type2, ConstraintKind kind,
7402
7402
7403
7403
// Note: Mismatched builtin types fall through to the TypeKind::Error
7404
7404
// case below.
7405
+ #define BUILTIN_GENERIC_TYPE(id, parent)
7405
7406
#define BUILTIN_TYPE(id, parent) case TypeKind::id:
7406
7407
#define TYPE(id, parent)
7407
7408
#include "swift/AST/TypeNodes.def"
@@ -7410,6 +7411,23 @@ ConstraintSystem::matchTypes(Type type1, Type type2, ConstraintKind kind,
7410
7411
case TypeKind::Unresolved:
7411
7412
return getTypeMatchFailure(locator);
7412
7413
7414
+ case TypeKind::BuiltinFixedArray: {
7415
+ auto *fixed1 = cast<BuiltinFixedArrayType>(desugar1);
7416
+ auto *fixed2 = cast<BuiltinFixedArrayType>(desugar2);
7417
+
7418
+ auto result = matchTypes(fixed1->getSize(), fixed2->getSize(),
7419
+ ConstraintKind::Bind, subflags,
7420
+ locator.withPathElement(
7421
+ LocatorPathElt::GenericArgument(0)));
7422
+ if (result.isFailure())
7423
+ return result;
7424
+
7425
+ return matchTypes(fixed1->getElementType(), fixed2->getElementType(),
7426
+ ConstraintKind::Bind, subflags,
7427
+ locator.withPathElement(
7428
+ LocatorPathElt::GenericArgument(0)));
7429
+ }
7430
+
7413
7431
case TypeKind::Placeholder: {
7414
7432
// If it's allowed to attempt fixes, let's delegate
7415
7433
// decision to `repairFailures`, since depending on
0 commit comments