Project

General

Profile

Actions

Bug #7449

closed

Rdoc for obj.object_id

Added by phasis68 (Heesob Park) over 11 years ago. Updated over 11 years ago.

Status:
Closed
Target version:
ruby -v:
ruby 2.0.0dev (2012-11-27 trunk 37869) [x64-mswin64_100]
Backport:
[ruby-core:50245]

Description

Documentation for return type of obj.object_id is wrong on Windows x64.

C:\Users\phasis>irb
irb(main):001:0> 0.1.object_id
=> -158526706883441454
irb(main):002:0> 0.1.object_id.class
=> Bignum

Here is a patch:
diff --git a/gc.c b/gc.c.new
index d52208d..2a0f26a 100644
--- a/gc.c
+++ b/gc.c.new
@@ -1670,8 +1670,8 @@ id2ref(VALUE obj, VALUE objid)

  • Document-method: object_id
  • call-seq:
    • obj.__id__       -> fixnum
      
    • obj.object_id    -> fixnum
      
    • obj.__id__       -> integer
      
    • obj.object_id    -> integer
      
    • Returns an integer identifier for obj. The same number will
    • be returned on all calls to id for a given object, and

Updated by luislavena (Luis Lavena) over 11 years ago

  • Category set to doc
  • Status changed from Open to Assigned
  • Assignee set to drbrain (Eric Hodel)
  • Target version set to 2.0.0

Updated by zzak (zzak _) over 11 years ago

Luis, can you confirm this on windows?

Updated by luislavena (Luis Lavena) over 11 years ago

zzak (Zachary Scott) wrote:

Luis, can you confirm this on windows?

I don't think the Windows part is relevant but the documentation mistake.

You can confirm this here:

http://rubydoc.info/stdlib/core/Object:object_id

It says "Returns an integer identifier for obj" but then it says fixnum.

I've assigned to Eric Hodel to confirm is a bug in the documentation (or not) and act accordingly.

Thank you.

Updated by drbrain (Eric Hodel) over 11 years ago

changing to Integer is fine with me. It seems to be a better type.

Updated by zzak (zzak _) over 11 years ago

eric, you mean Fixnum right?

Or change rb_obj_id implementation to return INT2NUM((SIGNED_VALUE)obj);

Updated by drbrain (Eric Hodel) over 11 years ago

"return a fixnum" is not a specification of #object_id so the more generic "integer" is better.

Actions #7

Updated by zzak (zzak _) over 11 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

This issue was solved with changeset r37987.
Heesob, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


  • gc.c: Documentation for GC, GC::Profiler, ObjectSpace, and
    ObjectSpace::WeakMap [ruby-core:50245] [Bug #7449]
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0