This code
enum ComparableIndexingHelper {
case biggest
case smallest
}
protocol CustomIndexable where Self: Collection {
subscript (_ someIndexable: ComparableIndexingHelper) -> SortingResult<Self> { get }
}
enum SortingResult<Seq: Collection> {
case slice(Slice<Seq>)
case singleItem(Seq.Element)
case nothing
}
extension CustomIndexable where Self: RangeReplaceableCollection, Self.Element: Comparable {
subscript (_ someIndexer: ComparableIndexingHelper) -> SortingResult<Self> {
...
}
}
print([1,2,2,3,3,3][ComparableIndexingHelper.biggest])
print([1,2,2,3,3,3][.biggest])
outputs this
error: no exact matches in a call to subscript
Bug or not?