// RUN: %target-typecheck-verify-swift // https://github.com/apple/swift/issues/54820 protocol Protocol { associatedtype Index: Comparable subscript(bounds: Range) -> Int { get } // expected-note@+1 {{protocol requires subscript with type '(Wrapper.Index) -> Int' (aka '(Base.Index) -> Int')}} subscript(position: Index) -> Int { get } } struct Wrapper: Protocol { // expected-error {{type 'Wrapper' does not conform to protocol 'Protocol'}} expected-note {{add stubs for conformance}} typealias Index = Base.Index subscript(bounds: Range) -> Int { // expected-note {{candidate has non-matching type ' (Range.Index>) -> Int' (aka ' (Range) -> Int')}} get { 1 } } }