ArithmeticSequence#member? can result in infinite loop
I'm not sure if this is a bug or a feature, it feels somewhere in between.
This is my first time contributing to the Ruby code, let me know what I can improve in this report!
ArithmeticSequence#member? enumerates through the sequence in order to determine if an element is included. (It just uses Enumerable#member?.) This leads to an infinite loop if the sequence is infinite and the element is not included, such as
1.step.member?(0) to return
Since ArithmeticSequences are much more constrained than regular Enumerables, the #member? method can be overridden to efficiently determine if an element is included in the sequence.
I started implementing this change (patch attached) but got a little confused when trying to handle floats. Before digging in too deeply, I wanted to check if this is a change that will be accepted.
Let me know if I should keep looking into this!