Project

General

Profile

Actions

Bug #7216

closed

object.c defines clone method for objects that cannot be cloned.

Added by therevmj (Michael Johnson) over 11 years ago. Updated over 4 years ago.

Status:
Closed
Target version:
-
ruby -v:
all versions up to current trunk
[ruby-core:48292]

Description

As the subject says, in object.c, the clone method is defined and then special cased for certain object types. The end result is that all respond_to?(:clone) returns true for all objects, but then thows an fatal error in some cases. Here is an appropriate example:

a = true
=> true
a.respond_to?(:clone)
=> true
a.clone
TypeError: can't clone TrueClass
from (irb):3:in `clone'
from (irb):3

Ultimately, the objects that do no respond to 'clone' should have it removed so that the respond_to? method returns false.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0