Support Complex and BigDecimal for Date#{+,-} #830
Merged
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.
Date#{+,-} allows to pass an object with numeric argument and
to_r
method.https://github.com/ruby/ruby/blob/6d540c1b9844a5832846618b53ce35d12d64deac/ext/date/date_core.c#L5785-L5786
For example,
Complex
andBigDecimal
can be passed.To achieve this behavior, the
_ToR
interface was introduced.And
Integer
,Rational
, and evenFloat
are removed because they satisfy the condition of(Numeric & _ToR)
.