mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
When we're trying to diagnose something, it's a bad look if we crash instead. This changes the bad-associated-type recovery path to not require that the conditional requirements have been computed, and instead detects that as a possible error. Fixes https://bugs.swift.org/browse/SR-8033.
10 lines
379 B
Swift
10 lines
379 B
Swift
// RUN: %target-typecheck-verify-swift
|
|
|
|
struct Foo<T> {}
|
|
|
|
protocol P1 {
|
|
associatedtype A // expected-note {{protocol requires nested type 'A'; do you want to add it?}}
|
|
}
|
|
extension Foo: P1 where A : P1 {} // expected-error {{unsupported recursion for reference to associated type 'A' of type 'Foo<T>'}}
|
|
// expected-error@-1 {{type 'Foo<T>' does not conform to protocol 'P1'}}
|