// RUN: %target-parse-verify-swift struct S : Collection { typealias Element = A.Iterator.Element typealias Index = A.Index init(base: A, baseRange: Range) { self.base = base self.baseRange = baseRange } var startIndex: Index { return Int(0) } var endIndex: Index { return baseRange.count } subscript(i: Index) -> Element { return base[baseRange.startIndex + i] } func makeIterator() -> IndexingIterator { return IndexingIterator(_elements: self) } var base: A var baseRange: Range }