Remove Object#=~ and Object#!~ #5910
Closed
+21
−29
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.
Fixes #5829
Overloads for
Regex#=~
are restricted to receiveString | Nil
and forString#=~
to receiveRegex | Nil
.#!~
is re-added as instance method in both classes accepting the same overload.It could be up for debate to leave
Object#!~
to avoid having individual definitions in classes implementing=~
. But this would end up in a similar issues as #3450I'm also not entirely sure about the type safety of
Regex#=~
andString#=~
. Should their argument really be nilable, or allow onlyString
,Regex
type, respectively? On the other hand, they could even receive any type and just returnnil
like it is the case right now.