-
-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
Hi,
I run in the following issue using SortedSet as drop in replacement:
3.0.2 :001 > str = "foo";ss = SortedSet.new; ss << str; hsh = { enabled: ss}; hsh[:enabled].delete(nil)
/home/me/.rvm/gems/ruby-3.0.2/gems/set-1.0.2/lib/set.rb:540:in `delete': comparison of NilClass with String failed (ArgumentError)
from /home/me/.rvm/gems/ruby-3.0.2/gems/set-1.0.2/lib/set.rb:540:in `delete'
from (irb):1:in `<main>'
from /home/me/.rvm/rubies/ruby-3.0.2/lib/ruby/gems/3.0.0/gems/irb-1.3.5/exe/irb:11:in `<top (required)>'
from /home/me/.rvm/rubies/ruby-3.0.2/bin/irb:23:in `load'
from /home/me/.rvm/rubies/ruby-3.0.2/bin/irb:23:in `<main>'
While with ruby 2.7.4:
2.7.4 :001 > str = "foo";ss = SortedSet.new; ss << str; hsh = { enabled: ss}; hsh[:enabled].delete(nil)
=> #<SortedSet: {"foo"}>
If I debugged it correctly this is due to RBTree:
3.0.2 :002 > rb = RBTree["", ""]; rb.delete(0)
(irb):4:in `delete': comparison of Integer with String failed (ArgumentError)
from (irb):4:in `<main>'
from /home/me/.rvm/rubies/ruby-3.0.2/lib/ruby/gems/3.0.0/gems/irb-1.3.5/exe/irb:11:in `<top (required)>'
from /home/me/.rvm/rubies/ruby-3.0.2/bin/irb:23:in `load'
from /home/me/.rvm/rubies/ruby-3.0.2/bin/irb:23:in `<main>'
Is this mismatch in functionality generally accepted or is it smth that should get solved in sorted_set?
Thanks and cheers!
Metadata
Metadata
Assignees
Labels
No labels