// {"signature":"swift::CanTypeVisitor&, llvm::SmallVectorImpl&, llvm::SmallVectorImpl&)::Matcher>::MatchVisitor, bool, swift::Type, swift::Type>::visit(swift::CanType, swift::Type, swift::Type)"} // RUN: not --crash %target-swift-frontend -typecheck %s protocol a { associatedtype b associatedtype c associatedtype d func e(b, c) -> d } struct f < j, g : a where h == g.c struct i : a { e(j, _) extension f where g == i