topazproject / topaz

A high performance ruby, written in RPython
topazruby.com
BSD 3-Clause "New" or "Revised" License
1k stars 84 forks source link

Guard {Fixnum|Float}#frozen? from segfault and to be compatible with Ruby 1.9.3 behaviors #848

Closed kachick closed 9 years ago

kachick commented 9 years ago

ref: https://github.com/topazproject/topaz/pull/845

$ PYTHONPATH=../pypy python ./bin/topaz_untranslated.py -e 'f = 0.1; p f.frozen?; f.freeze; p f.frozen?'
false
true
$ PYTHONPATH=../pypy python ./bin/topaz_untranslated.py -e 'f 1; p f.frozen?; f.freeze; p f.frozen?'
false
true

@alex How about like this?

kachick commented 9 years ago

Oops. This is My fault! I'll fix this.

PYTHONPATH=../pypy python ./bin/topaz_untranslated.py -e 'f = 1; p f.frozen?; f.freeze; p f.frozen?; p   2.frozen?'
false
true
true
alex commented 9 years ago

@kachick LGTM, before I merge, what's the plan for tests?

kachick commented 9 years ago

@alex Thanks for your review! I have added tests.