Unexpected 2.3.2 spew

A 2.3.2 test case that spews:

/home/adam/ror/2.3.2/vendor/rails/activerecord/lib/active_record/base.rb:2189:in
`dup': can't dup NilClass (TypeError)
  from
/home/adam/ror/2.3.2/vendor/rails/activerecord/lib/active_record/base.rb:2189:in
`scoped_methods'
  from
/home/adam/ror/2.3.2/vendor/rails/activerecord/lib/active_record/base.rb:2193:in
`current_scoped_methods'
  from
/home/adam/ror/2.3.2/vendor/rails/activerecord/lib/active_record/base.rb:2183:in
`scope'
  from
/home/adam/ror/2.3.2/vendor/rails/activerecord/lib/active_record/base.rb:2414:in
`set_readonly_option!'
  from
/home/adam/ror/2.3.2/vendor/rails/activerecord/lib/active_record/base.rb:610:in
`find'
  from /home/adam/ror/2.3.2/lib/test1.rb:9:in `initialize_test'
  <snip>

Here is the relevant code to duplicate. The interesting thing is, just
the existance of the empty self.inherited(c) declaration triggers the
spew. Remove the declaration and no spew. Also, this works fine in 2.2.2
(no spew).

Create a fresh 2.3.2, and script/console this:

class Y < ActiveRecord::Base
  def self.inherited(c)
  end
end
class T < Y
end
T.find(:all) # Unexpected spew

Here is the relevant code to duplicate. The interesting thing is, just
the existance of the empty self.inherited(c) declaration triggers the
spew. Remove the declaration and no spew. Also, this works fine in 2.2.2
(no spew).

Create a fresh 2.3.2, and script/console this:

class Y < ActiveRecord::Base
def self.inherited(c)
end
end
class T < Y
end
T.find(:all) # Unexpected spew

You are overwriting the inherited method from ActiveRecord::Base with
your own but without calling the existing implementation

Fred