> On May 24, 2016, at 9:35 AM, Jordan Rose via swift-dev <swift-dev@swift.org> > wrote: > > I wouldn’t phrase it this way. “nil” could just as easily been above all of > the integers. > > We added overloads for < and friends that took optionals so that you could > sort an array by passing < and get something reasonable out without having to > provide your own comparison function, but you’re not the first to find it > counterintuitive. We could consider removing it (going through the Swift > Evolution Process > <https://github.com/apple/swift-evolution/blob/master/process.md>).
One of the ideas that Joe Pamer has been discussing is whether the implicit promotion from T to T? should be disabled when in an operator context. Doing so would fix problems like this, but making the code invalid. Joe, is this something that you think will come up for discussion in the Swift 3 timeframe? -Chris > > Best, > Jordan > > >> On May 24, 2016, at 09:07, Robert Widmann via swift-evolution >> <swift-evolut...@swift.org <mailto:swift-evolut...@swift.org>> wrote: >> >> Behaves as intended, albeit counterintuitively. >> >> [~ indicates appropriate coercion] >> >> 1) (nil : Optional<T ~ Int>) == (0 : Int ~ Optional<Int>) false because nil >> is the lower bound of all possible integers. >> 2) (nil : Optional<T ~ Int>) < (0 : Int ~ Optional<Int>) true for reasons >> above >> 3) (nil : Optional<T ~ Int>) > (0 : Int ~ Optional<Int>) false for reason >> above. >> >> ~Robert Widmann >> >> 2016/05/24 2:27、Yaman JAIOUCH via swift-dev <swift-dev@swift.org >> <mailto:swift-dev@swift.org>> のメッセージ: >> >>> nil == 0 // false >>> nil < 0 // true >>> nil > 0 // false >>> >>> Is this a potential bug or an intended behavior ? >>> _______________________________________________ >>> swift-dev mailing list >>> swift-dev@swift.org <mailto:swift-dev@swift.org> >>> https://lists.swift.org/mailman/listinfo/swift-dev >> _______________________________________________ >> swift-evolution mailing list >> swift-evolut...@swift.org <mailto:swift-evolut...@swift.org> >> https://lists.swift.org/mailman/listinfo/swift-evolution > > _______________________________________________ > swift-dev mailing list > swift-dev@swift.org > https://lists.swift.org/mailman/listinfo/swift-dev
_______________________________________________ swift-dev mailing list swift-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-dev