From: Denis de Bernardy Date: 2012-02-17T03:56:24+09:00 Subject: [ruby-core:42687] [ruby-trunk - Bug #6037][Open] #freeze bug Issue #6037 has been reported by Denis de Bernardy. ---------------------------------------- Bug #6037: #freeze bug https://bugs.ruby-lang.org/issues/6037 Author: Denis de Bernardy Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: 1.9.3 freeze should deep freeze, to avoid inconsistent behavior: array = ['a', 'b'].freeze array[0] = 'b' array[0].gsub!(/.+/s, 'b') array >> RUBY_VERSION => "1.9.3" >> array = ['a', 'b'].freeze => ["a", "b"] >> array[0] = 'b' RuntimeError: can't modify frozen Array from (irb):269:in `[]=' from (irb):269 from /opt/local/bin/irb:12:in `
' >> array[0].gsub!(/.+/s, 'b') => "b" >> array => ["b", "b"] -- http://bugs.ruby-lang.org/