Files
swift-mirror/validation-test/compiler_crashers_fixed/0129-rdar35019075.swift
Hamish Knight 4e811c3a88 [test] Merge crasher directories
There is no longer much of a good reason to keep these separate,
merge them.
2025-10-18 12:51:30 +01:00

44 lines
881 B
Swift

// RUN: not %target-swift-frontend %s -typecheck
enum SortOrder {
case ascending
case equal
case descending
}
struct SortedArray<Element> {
var contents = [Element]()
let compare: (Element, Element) -> SortOrder
init(_ comparator: @escaping (Element, Element) -> SortOrder) {
compare = comparator
}
mutating func add(_ element: Element) {
}
}
extension SortedArray where Element: Comparable {
init() {
compare = { a, b in
if a < b { return .ascending }
else if a > b { return .descending }
else { return .equal }
}
}
init<S: Sequence>(_ sequence: S) where S.Iterator.Element == Element {
self.init()
for element in sequence {
add(element)
}
}
}
extension SortedArray: Sequence {
typealias Iterator = IndexingIterator
}