I also notice that I can use generated accessors from outside the class. Basically, given
class Foo attr_accessor :bar def initialize @bar = 0 end def baz bar += 1 end end f = Foo.new
This is fine:
f.bar f.bar = 1
This crashes the engine with the above error because the 'baz' method uses the 'bar' accessor internally:
f.baz