From: Eric Hodel Date: 2007-08-26T04:59:08+09:00 Subject: $SAFE = 1 and insecure method on 1.8 vs 1.9 safe.rb: $SAFE = 1 class C def self.win_platform? false end end safe2.rb: require 'safe' class D < C unless win_platform? then def d puts "ok!" end end end D.new.d $ ruby18 -v safe2.rb ruby 1.8.6 (2007-06-30 patchlevel 5000) [i686-darwin8.10.1] ok! $ ruby19 -v safe2.rb ruby 1.9.0 (2007-08-23 patchlevel 0) [i686-darwin8.10.1] syck.so: warning: method redefined; discarding old value safe2.rb:4:in `': calling insecure method: win_platform? (SecurityError) from safe2.rb:3:in `
' -- Poor workers blame their tools. Good workers build better tools. The best workers get their tools to do the work for them. -- Syndicate Wars