A range of single character Strings told that it includes its end even when it is empty, since the end was not compared with the begin. ("z".."a").to_a #=> [] ("z".."a").include?("a") #=> true (cherry picked from commi...sferik (Erik Berlin)
The C extension defines both tty? and isatty in IO::platform_tty, so they stay the same method once io/console is loaded. The JRuby backends' PlatformTty only defined tty?, so after https://github.com/ruby/io-console/commit/f686b8305 loa...sferik (Erik Berlin)
The [neighbor](https://github.com/ankane/neighbor) gem is another example, commonly used by Rails apps to store embeddings with pgvector. pgvector's wire format is text, so `Neighbor::Type::Vector#serialize` does `"[#{value.to_a.map(&:to...sferik (Erik Berlin)
A range of single character Strings told that it includes its end even when it is empty, since the end was not compared with the begin. ("z".."a").to_a #=> [] ("z".."a").include?("a") #=> true (cherry picked from commi...sferik (Erik Berlin)
> I'll second Jean, we should absolutely not do this. Im also eager to replace dtoa.c, but if we're changing the algorithm (and especially if that changes the output in any cases) we should do it at most once over the next ~5 years. T...sferik (Erik Berlin)
> This one is interesting because a large part of the complexity of the implementation is caused by the semantic of these methods is that the comparison is done as element == searched_item. > ... This comment inspired another optimizati...sferik (Erik Berlin)
> We don't backport performance patches, only bugfixes. That's what I thought, but you said: > ... Anyway, I am happy to help cover the maintenance cost in whatever way I can. > That's why I've added the question to the next dev meeti...sferik (Erik Berlin)
Thank you for merging [PR #19360](https://github.com/ruby/ruby/pull/19360)! > It's not that simple though, there's a maintenance cost to all this (e.g. backports), and these algorithm can have subtly different behavior on fringe cases, ...sferik (Erik Berlin)