Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A negative
size
makes no sense at all, -infinity even less so. It is indeed the case that Ruby currently returns-infinity
(even if you take the product of two of these senseless enumerables), but that doesn't make it a valid spec. Ruby does this because it is simpler to test for ±infinity than it is to test for +infinity...Other alternative implementations should not attempt to mimick such behaviour.
One could argue it is a bug (and
nil
should be returned maybe, but that would be the case for any negativesize
), or that the current result is acceptable because "garbage in garbage out", but nobody in their right mind would rely on this behavior and clearly returningnil
or raising an exception are better results than returning - infinity.This PR leaves this uninteresting and ill-defined corner case as implementation dependent.
Ref: marcandre/backports#192