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
Hacking in a fix for Issue #279 (Method 'validate_decorators!' raises NameError) causes (in my app) that same method to raise RuntimeError with a message (see below) claiming that there are multiple contracts on method 'psych_yaml_as', which is in /lib/ruby/2.2.0/psych/core_ext.rb.
I don't know what to make of this. I'm not optimistic about crafting a simple example that shows the error, but hope that the trace (see below) will be a clue for some guru.
--- begin message --
c:/Ruby22/lib/ruby/gems/2.2.0/gems/contracts-0.16.0/lib/contracts/method_handler
.rb:159:in `validate_decorators!': (RuntimeError)
Oops, it looks like method 'psych_yaml_as' has multiple contracts:
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Did you accidentally put more than one contract on a single function, like so?
Contract String => String
Contract Num => String
def foo x
end
--- begin trace ---
from c:/Ruby22/lib/ruby/gems/2.2.0/gems/contracts-0.16.0/lib/contracts/m
ethod_handler.rb:31:in handle' from c:/Ruby22/lib/ruby/gems/2.2.0/gems/contracts-0.16.0/lib/contracts/d ecorators.rb:13:in method_added'
from c:/Ruby22/lib/ruby/2.2.0/psych/core_ext.rb:21:in <class:Module>' from c:/Ruby22/lib/ruby/2.2.0/psych/core_ext.rb:20:in <top (required)>'
from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in
require' from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require'
from c:/Ruby22/lib/ruby/2.2.0/psych.rb:11:in <top (required)>' from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require'
from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require' from c:/Ruby22/lib/ruby/2.2.0/yaml.rb:5:in <top (required)>'
from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require' from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require'
from c:/Ruby22/lib/ruby/gems/2.2.0/gems/watir-6.10.0/lib/watir/cookies.r
b:1:in <top (required)>' from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require'
from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require' from c:/Ruby22/lib/ruby/gems/2.2.0/gems/watir-6.10.0/lib/watir.rb:14:in <top (required)>'
from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in require' from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in rescue in require'
from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:39:in require' from c:/Users/Burdette/Documents/GitHub/RubyTest/examples/github/ui/ui_c lient.rb:1:in <top (required)>'
from c:/Users/Burdette/Documents/GitHub/RubyTest/examples/github/base_cl
asses/base_class_for_test.rb:5:in require_relative' from c:/Users/Burdette/Documents/GitHub/RubyTest/examples/github/base_cl asses/base_class_for_test.rb:5:in <top (required)>'
from c:/Users/Burdette/Documents/GitHub/RubyTest/examples/github/tester_
tour/tests/meet_test.rb:1:in require_relative' from c:/Users/Burdette/Documents/GitHub/RubyTest/examples/github/tester_ tour/tests/meet_test.rb:1:in
'
rake aborted!
Errno::ENOENT: No such file or directory @ rb_sysopen - C:/Users/Burdette/AppDat
a/Roaming/RubyTest/logs/github_api/2017.12.13-Wed-14.47.46/test_meet.xml
c:/Users/Burdette/Documents/GitHub/RubyTest/lib/log/log.rb:385:in initialize' c:/Users/Burdette/Documents/GitHub/RubyTest/lib/log/log.rb:385:in open'
c:/Users/Burdette/Documents/GitHub/RubyTest/lib/log/log.rb:385:in get_counts_fr om_file' c:/Users/Burdette/Documents/GitHub/RubyTest/examples/github/Rakefile:190:in blo
ck (3 levels) in <top (required)>'
c:/Users/Burdette/Documents/GitHub/RubyTest/examples/github/Rakefile:174:in eac h' c:/Users/Burdette/Documents/GitHub/RubyTest/examples/github/Rakefile:174:in blo
ck (2 levels) in <top (required)>'
c:/Users/Burdette/Documents/GitHub/RubyTest/examples/github/Rakefile:171:in eac h_pair' c:/Users/Burdette/Documents/GitHub/RubyTest/examples/github/Rakefile:171:in blo
ck in <top (required)>'
--- end trace ---
The text was updated successfully, but these errors were encountered:
Hacking in a fix for Issue #279 (Method 'validate_decorators!' raises NameError) causes (in my app) that same method to raise RuntimeError with a message (see below) claiming that there are multiple contracts on method 'psych_yaml_as', which is in /lib/ruby/2.2.0/psych/core_ext.rb.
I don't know what to make of this. I'm not optimistic about crafting a simple example that shows the error, but hope that the trace (see below) will be a clue for some guru.
--- begin message --
c:/Ruby22/lib/ruby/gems/2.2.0/gems/contracts-0.16.0/lib/contracts/method_handler
.rb:159:in `validate_decorators!': (RuntimeError)
Oops, it looks like method 'psych_yaml_as' has multiple contracts:
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Symbol
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
#<Contracts::Builtin::Or:0x1e45dc8 @vals=[Symbol, Array]>
Did you accidentally put more than one contract on a single function, like so?
Contract String => String
Contract Num => String
def foo x
end
If you did NOT, then you have probably discovered a bug in this library.
Please file it along with the relevant code at:
https://github.com/egonSchiele/contracts.ruby/issues
--- end message---
--- begin trace ---
from c:/Ruby22/lib/ruby/gems/2.2.0/gems/contracts-0.16.0/lib/contracts/m
ethod_handler.rb:31:in
handle' from c:/Ruby22/lib/ruby/gems/2.2.0/gems/contracts-0.16.0/lib/contracts/d ecorators.rb:13:in
method_added'from c:/Ruby22/lib/ruby/2.2.0/psych/core_ext.rb:21:in
<class:Module>' from c:/Ruby22/lib/ruby/2.2.0/psych/core_ext.rb:20:in
<top (required)>'
'require' from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in
require'from c:/Ruby22/lib/ruby/2.2.0/psych.rb:11:in
<top (required)>' from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in
require'from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in
require' from c:/Ruby22/lib/ruby/2.2.0/yaml.rb:5:in
<top (required)>'from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in
require' from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in
require'from c:/Ruby22/lib/ruby/gems/2.2.0/gems/watir-6.10.0/lib/watir/cookies.r
b:1:in
<top (required)>' from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in
require'from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in
require' from c:/Ruby22/lib/ruby/gems/2.2.0/gems/watir-6.10.0/lib/watir.rb:14:in
<top (required)>'from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in
require' from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in
rescue in require'from c:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:39:in
require' from c:/Users/Burdette/Documents/GitHub/RubyTest/examples/github/ui/ui_c lient.rb:1:in
<top (required)>'from c:/Users/Burdette/Documents/GitHub/RubyTest/examples/github/base_cl
asses/base_class_for_test.rb:5:in
require_relative' from c:/Users/Burdette/Documents/GitHub/RubyTest/examples/github/base_cl asses/base_class_for_test.rb:5:in
<top (required)>'from c:/Users/Burdette/Documents/GitHub/RubyTest/examples/github/tester_
tour/tests/meet_test.rb:1:in
require_relative' from c:/Users/Burdette/Documents/GitHub/RubyTest/examples/github/tester_ tour/tests/meet_test.rb:1:in
rake aborted!
Errno::ENOENT: No such file or directory @ rb_sysopen - C:/Users/Burdette/AppDat
a/Roaming/RubyTest/logs/github_api/2017.12.13-Wed-14.47.46/test_meet.xml
c:/Users/Burdette/Documents/GitHub/RubyTest/lib/log/log.rb:385:in
initialize' c:/Users/Burdette/Documents/GitHub/RubyTest/lib/log/log.rb:385:in
open'c:/Users/Burdette/Documents/GitHub/RubyTest/lib/log/log.rb:385:in
get_counts_fr om_file' c:/Users/Burdette/Documents/GitHub/RubyTest/examples/github/Rakefile:190:in
block (3 levels) in <top (required)>'
c:/Users/Burdette/Documents/GitHub/RubyTest/examples/github/Rakefile:174:in
eac h' c:/Users/Burdette/Documents/GitHub/RubyTest/examples/github/Rakefile:174:in
block (2 levels) in <top (required)>'
c:/Users/Burdette/Documents/GitHub/RubyTest/examples/github/Rakefile:171:in
eac h_pair' c:/Users/Burdette/Documents/GitHub/RubyTest/examples/github/Rakefile:171:in
block in <top (required)>'
--- end trace ---
The text was updated successfully, but these errors were encountered: