You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ice_nine is trying to call methods on Rubinius structures like Hash::Trie.
This unfortunately breaks Ruby Grape, which depends on ice_nine (through virtus & axiom_types). There's a similar bug in the Rubinius tracker that points out this bug in ice_nine as well: rubinius/rubinius#3694 which points out this problem from Rubinius's point of view. Seems to be some assumptions in ice_nine about native types that aren't guaranteed...
Using Rubinius 3.72:
irb(main):001:0> require 'ice_nine'
=> true
irb(main):002:0> h = { a: 1 }
=> {:a=>1}
irb(main):003:0> h2 = IceNine.deep_freeze(h)
NoMethodError: undefined method `default_proc' on an instance of Hash::Trie.
from core/zed.rb:1413:in `default_proc (method_missing)'
from /Users/jnardone/.rbenv/versions/rbx-3.72/gems/gems/ice_nine-0.11.2/lib/ice_nine/freezer/hash.rb:22:in `guarded_deep_freeze'
from /Users/jnardone/.rbenv/versions/rbx-3.72/gems/gems/ice_nine-0.11.2/lib/ice_nine/freezer.rb:100:in `guarded_deep_freeze'
from /Users/jnardone/.rbenv/versions/rbx-3.72/gems/gems/ice_nine-0.11.2/lib/ice_nine/support/recursion_guard.rb:36:in `guard'
from /Users/jnardone/.rbenv/versions/rbx-3.72/gems/gems/ice_nine-0.11.2/lib/ice_nine/freezer.rb:99:in `guarded_deep_freeze'
from /Users/jnardone/.rbenv/versions/rbx-3.72/gems/gems/ice_nine-0.11.2/lib/ice_nine/freezer/object.rb:36:in `freeze_instance_variables'
from core/array.rb:72:in `each'
from /Users/jnardone/.rbenv/versions/rbx-3.72/gems/gems/ice_nine-0.11.2/lib/ice_nine/freezer/object.rb:35:in `freeze_instance_variables'
from /Users/jnardone/.rbenv/versions/rbx-3.72/gems/gems/ice_nine-0.11.2/lib/ice_nine/freezer/object.rb:22:in `guarded_deep_freeze'
from /Users/jnardone/.rbenv/versions/rbx-3.72/gems/gems/ice_nine-0.11.2/lib/ice_nine/freezer/hash.rb:21:in `guarded_deep_freeze'
from /Users/jnardone/.rbenv/versions/rbx-3.72/gems/gems/ice_nine-0.11.2/lib/ice_nine/freezer.rb:100:in `guarded_deep_freeze'
from /Users/jnardone/.rbenv/versions/rbx-3.72/gems/gems/ice_nine-0.11.2/lib/ice_nine/support/recursion_guard.rb:36:in `guard'
from /Users/jnardone/.rbenv/versions/rbx-3.72/gems/gems/ice_nine-0.11.2/lib/ice_nine/freezer.rb:99:in `guarded_deep_freeze'
from /Users/jnardone/.rbenv/versions/rbx-3.72/gems/gems/ice_nine-0.11.2/lib/ice_nine/freezer.rb:41:in `deep_freeze'
from /Users/jnardone/.rbenv/versions/rbx-3.72/gems/gems/ice_nine-0.11.2/lib/ice_nine.rb:38:in `deep_freeze'
from (irb):3
... 1 levels...
from core/kernel.rb:1130:in `eval'
from core/kernel.rb:585:in `loop'
from core/proc.rb:20:in `call'
from core/kernel.rb:1067:in `catch'
from core/throw_catch.rb:8:in `register'
from core/kernel.rb:1066:in `catch'
from core/proc.rb:20:in `call'
from core/kernel.rb:1067:in `catch'
from core/throw_catch.rb:8:in `register'
from core/kernel.rb:1066:in `catch'
from /Users/jnardone/.rbenv/versions/rbx-3.72/gems/gems/rubysl-irb-2.1.1/bin/irb:12:in `__script__'
from core/kernel.rb:572:in `load'
from /Users/jnardone/.rbenv/versions/rbx-3.72/gems/bin/irb:22:in `__script__'
from core/kernel.rb:572:in `load'
from core/loader.rb:719:in `repl'
from core/loader.rb:862:in `main'
The text was updated successfully, but these errors were encountered:
Ice_nine is trying to call methods on Rubinius structures like Hash::Trie.
This unfortunately breaks Ruby Grape, which depends on ice_nine (through virtus & axiom_types). There's a similar bug in the Rubinius tracker that points out this bug in ice_nine as well:
rubinius/rubinius#3694 which points out this problem from Rubinius's point of view. Seems to be some assumptions in ice_nine about native types that aren't guaranteed...
Using Rubinius 3.72:
The text was updated successfully, but these errors were encountered: