From 705f9a7e809d47fa7e4e94196c2ffd1e5a74dd1e Mon Sep 17 00:00:00 2001 From: marcandre Date: Thu, 9 Jan 2014 17:34:39 +0000 Subject: [PATCH] * gc.c: Supplement object_id's rdoc for immediate and frozen string litterals git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- gc.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gc.c b/gc.c index d33a6fde51..262dfe7d04 100644 --- a/gc.c +++ b/gc.c @@ -2339,6 +2339,16 @@ id2ref(VALUE obj, VALUE objid) * * The same number will be returned on all calls to +object_id+ for a given object, * and no two active objects will share an id. + * + * Note that some objects of builtin classes are reused for optimization. + * This is the case for immediate values and frozen string litterals. + * Immediate values are not passed by reference by are passed by value: + * +nil+, +true+, +false+, Fixnums. Some Floats may be immediates too. + * + * Object.new.object_id == Object.new.object_id # => false + * (21 * 2).object_id == (21 * 2).object_id # => true + * "hello".object_id == "hello".object_id # => false + * "hi".freeze.object_id == "hi".freeze.object_id # => true */ /*