egonSchiele / contracts.ruby

Contracts for Ruby.
http://egonschiele.github.com/contracts.ruby
BSD 2-Clause "Simplified" License
1.44k stars 82 forks source link

Test fails with comming ruby3.2 due to Fixnum removal #300

Closed mtasaka closed 2 years ago

mtasaka commented 2 years ago

Now Fedora is preparing for upcomming ruby3.2 and currently contacts-0.17 fails for test suite like:

+ rspec spec/

An error occurred while loading spec_helper.
Failure/Error: Contract ({ :name => String, :age => Fixnum }) => nil

NameError:
  uninitialized constant GenericExample::Fixnum
# ./spec/fixtures/fixtures.rb:103:in `<class:GenericExample>'
# ./spec/fixtures/fixtures.rb:64:in `<top (required)>'
# ./spec/spec_helper.rb:3:in `<top (required)>'
No examples found.

Finished in 0.00002 seconds (files took 0.11076 seconds to load)
0 examples, 0 failures, 1 error occurred outside of examples

This is because ruby3.2 removes Fixnum already deprecated in ruby 2.4 (Fixnum was already just an alias for Integer) https://github.com/ruby/ruby/blob/6378825df5c7abc7ef45f257057ffd21dc9e63b5/NEWS.md?plain=1#L238

PikachuEXE commented 2 years ago

Thanks for raising this issue Could you take a look at #301 and see if anything wrong/missed? CI is updated to test against 3.2.0-preview1 on that PR

mtasaka commented 2 years ago

I've checked #301 and it seems okay.