Issue #7782 has been updated by trans (Thomas Sawyer).


So you think rescuing the error is good enough. Ok, I'll handle it that way. Would it be prudent to make the error very specific, e.g. `UndefinedAllocatorError`. So that rescue clauses can be sure to catch that specifically?

----------------------------------------
Bug #7782: Struct both has and does not have an allocator
https://bugs.ruby-lang.org/issues/7782#change-35841

Author: trans (Thomas Sawyer)
Status: Closed
Priority: Normal
Assignee: 
Category: core
Target version: 1.9.3
ruby -v: ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-linux]


=begin
One the one hand:

    >> Struct.allocate
    TypeError: allocator undefined for Struct
        from (irb):1:in `allocate'
        from (irb):1
        from /opt/Ruby/1.9.3-p327/bin/irb:12:in `<main>'

But on the other:

    >> Struct.method(:allocate)
    => #<Method: Class#allocate>

In my current case, I need a reliable way to check if a class can be allocated or not. How can one do this if the method is remains present even when it can not be used?
=end



-- 
http://bugs.ruby-lang.org/