AST: Fix logic error in TypeMatcher::visitParameterizedProtocolType()

Fixes https://github.com/apple/swift/issues/63410.
This commit is contained in:
Slava Pestov
2023-06-14 12:49:18 -04:00
parent 2b8a39724c
commit 68e22e1fb1
2 changed files with 14 additions and 4 deletions

View File

@@ -438,10 +438,12 @@ class TypeMatcher {
if (firstArgs.size() == secondArgs.size()) {
for (unsigned i : indices(firstArgs)) {
return this->visit(CanType(firstArgs[i]),
secondArgs[i],
sugaredFirstType->castTo<ParameterizedProtocolType>()
->getArgs()[i]);
if (!this->visit(CanType(firstArgs[i]),
secondArgs[i],
sugaredFirstType->castTo<ParameterizedProtocolType>()
->getArgs()[i])) {
return false;
}
}
return true;

View File

@@ -0,0 +1,8 @@
// RUN: %target-typecheck-verify-swift
protocol Derived<A, B> where C == any Derived<Never, B> {
associatedtype A
associatedtype B
associatedtype C
}