Hi,

I get the following behaviour from the current trunk version ruby 1.9.0
(2007-11-29 patchlevel 0) [i686-linux]:

class Foo < Proc
  def initialize(foo, &block)
    @foo = foo
    super(&block)
  end

  attr_reader :foo
end

if RUBY_VERSION >= "1.9"
  foo = Foo.new :foo do
    :bar
  end
# ~> -:12:in `new': wrong number of arguments(1 for 0) (ArgumentError)
# ~>     from -:12:in `<main>'

  foo.foo # =>
  foo.call # =>
else
  foo = Foo.new :foo do
    :bar
  end

  foo.foo # => :foo
  foo.call # => :bar
end

Inheriting from Proc used to work in 1.8, but now it doesn't. Is this a bug or an intended change?

-- 
Florian Frank