Skip to content

Instantly share code, notes, and snippets.

@agrimm
Created December 1, 2010 09:43
Show Gist options
  • Save agrimm/723244 to your computer and use it in GitHub Desktop.
Save agrimm/723244 to your computer and use it in GitHub Desktop.
Andrew-Grimms-MacBook-Pro:github agrimm$ rvm use system
Now using system ruby.
Andrew-Grimms-MacBook-Pro:github agrimm$ ruby --version
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
Andrew-Grimms-MacBook-Pro:github agrimm$ irb
>> C = Class.new
=> C
>> C.freeze.clone.to_s # Fails
TypeError: can't modify frozen object
from (irb):2:in `to_s'
from (irb):2
>> D = Class.new
=> D
>> D.clone.to_s # Doesn't fail
=> "#<Class:0x101535000>"
>> E = Class.new
=> E
>> E.freeze.to_s # Doesn't fail
=> "E"
>> F = Class.new
=> F
>> F.clone.freeze.to_s # Doesn't fail
=> "#<Class:0x101528738>"
>> G = Class.new
=> G
>> x = G.freeze.clone ; nil # Doesn't fail yet
=> nil
>> x.name # Doesn't fail yet
=> ""
>> x.object_id # Doesn't fail yet
=> 2158559740
>> x.to_s # Now it fails
TypeError: can't modify frozen object
from (irb):13:in `to_s'
from (irb):13
>> exit
[Separate session]
Andrew-Grimms-MacBook-Pro:~ agrimm$ ruby --version
ruby 1.9.3dev (2010-12-01 trunk 29993) [x86_64-darwin10.4.0]
Andrew-Grimms-MacBook-Pro:~ agrimm$ irb
ruby-head > C = Class.new
=> C
ruby-head > C.freeze.clone.to_s # Fails
RuntimeError: can't modify frozen Class
from (irb):2:in `to_s'
from (irb):2
from /Users/agrimm/.rvm/rubies/ruby-head/bin/irb:17:in `<main>'
ruby-head > exit
Andrew-Grimms-MacBook-Pro:~ agrimm$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment