Actions
Bug #20324
closed`(1..).overlap?('foo'..)` returns true
    Bug #20324:
    `(1..).overlap?('foo'..)` returns true
  
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [arm64-darwin22]
Description
While thinking about finding the intersection of two ranges, I found that (1..).overlap?('foo'..) returns true.
In the current implementation, it seems that (a..).overlap?(b..) or (..a).overlap?(..b) returns true regardless of what a or b are.
However, I think it should return true if and only if a and b are comparable.
(What is the intersection of 1.. and 'foo'..?)
Actions