// RUN: %target-typecheck-verify-swift // https://github.com/apple/swift/issues/57765 public protocol P {} extension Array { public struct Inner {} } extension Array.Inner: BidirectionalCollection, Collection, MutableCollection, RandomAccessCollection, Sequence where Element: P { public typealias Element = Array.Element public typealias Index = Array.Index public typealias Indices = Array.Indices public typealias SubSequence = Array.SubSequence public subscript(position: Array.Index) -> Element { get {} set {} } public subscript(bounds: Range.Index>) -> SubSequence { get {} set {} } public var startIndex: Index {0} public var endIndex: Index {0} }