Issue #13801 has been updated by kernigh (George Koehler).
Here's a counterexample with Array:
~~~ ruby
[1, 2, 3] === 2 #=> false
~~~
Array#=== doesn't look inside the array. I expect Set to act almost like Array, so it would be weird if Set#=== looked inside the container but Array#=== didn't.
----------------------------------------
Feature #13801: Implement case equality test for Set#===
https://bugs.ruby-lang.org/issues/13801#change-66278
* Author: davidarnold (David Arnold)
* Status: Open
* Priority: Normal
* Assignee: knu (Akinori MUSHA)
* Target version:
----------------------------------------
In keeping with other class semantics, Set should implement an inclusion / membership test for #===.
For example with Range:
~~~ ruby
(1..3) === 2 #=> true
~~~
Desired behavior:
~~~ ruby
Set[1, 2, 3] === 2 #=> true
~~~
Current behavior:
~~~ ruby
Set[1, 2, 3] === 2 #=> false
~~~
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>