Commits

David Farler committed f924e8e007f
ArraySlice indexes no longer zero-based ArraySlice indices now map directly onto the collection it is slicing and maintains that mapping even after mutations. Before: var a = Array(0..<10) var s = a[5..<10] s.indices // 0..<5 s[0] = 111 s // [111, 6, 7, 8, 9] s.removeFirst() s.indices // 1..<5 After: var a = Array(0..<10) var s = a[5..<10] s.indices // 5..<10 s[5] = 99 s // [99, 6, 7, 8, 9] s.removeFirst() s.indices // 6..<10 - Refactor some of the internals of the buffer types to make it easier to read and understand. - Add Array, ArraySlice, and ContiguousArray to the test suite at the RangeReplaceable test entry points, subjecting them to the same tests as all of our collections. - Update existing test expectations for the indexing changes. rdar://problem/21866825 Swift SVN r30840