From: Marc-Andre Lafortune Date: 2012-03-06T14:48:02+09:00 Subject: [ruby-core:43086] [ruby-trunk - Bug #2788] nil.instance_eval pushes nil onto cref Issue #2788 has been updated by Marc-Andre Lafortune. test-all also points out that `@@class_level_variable` would then refer to `NilClass`/`FalseClass`/`TrueClass`'s class variables, contrary to other singleton classes. This would be consistent with `class << nil` vs `class << my_string`. ---------------------------------------- Bug #2788: nil.instance_eval pushes nil onto cref https://bugs.ruby-lang.org/issues/2788 Author: Shugo Maeda Status: Assigned Priority: Low Assignee: Koichi Sasada Category: core Target version: 2.0.0 ruby -v: ruby 1.9.2dev (2010-02-18 trunk 26704) [i686-linux] =begin A singleton class definition of nil pushes NilClass onto cref. It is reasonable because NilClass has nil as the only instance. However, nil.instance_eval pushes nil onto cref, which means that method definitions are not permitted in that context. defiant:ruby$ ruby-trunk -ve 'class <': no class/module to add method (TypeError) from -e:1:in `instance_eval' from -e:1:in `
' The behavior is the same in Ruby 1.8.7. Is it intended or a bug? =end -- http://bugs.ruby-lang.org/