// RUN: %target-parse-verify-swift protocol SomeProtocol { typealias T } extension SomeProtocol where T == Optional { } // expected-error{{same-type constraint 'Self.T' == 'Optional' is recursive}} // rdar://problem/20000145 public protocol P { typealias T } public struct S> {} // rdar://problem/19840527 class X { // expected-error{{same-type requirement makes generic parameter 'T' non-generic}} var type: T { return self.dynamicType } // expected-error{{use of undeclared type 'T'}} }