// RUN: %target-typecheck-verify-swift // https://github.com/apple/swift/issues/53296 protocol ViewDataSource: class { func foo() -> [T] } class View { weak var delegate: ViewDataSource? } final class ViewController { let view = View() init() { view.delegate = self // expected-error@-1 {{generic class 'ViewController' requires the types 'T' and 'String' be equivalent}} } } extension ViewController: ViewDataSource where T == String { // expected-note@-1 {{requirement from conditional conformance of 'ViewController' to 'ViewDataSource'}} func foo() -> [U] { return [] } }