Issue #6083 has been updated by mame (Yusuke Endoh).

Status changed from Open to Assigned
Assignee set to matz (Yukihiro Matsumoto)

ko1 wrote:
> I propose to move the struct RBignum definition from include/ruby/ruby.h to bignum.c.  I believe no one use struct RBignum directly (except core).

Agreed.
I hope C API would be organized.  This can be preliminary case.


naruse wrote:
> Binary hackers can handle C structs even if it is a hidden private struct.
So it should be enough simply to declare "struct RBignunm is not a public API".

If you think so, it could be simpler.
README.EXT has no description about RBignum.
So we don't *need* to do anything.
But we can *kindly* do something.

-- 
Yusuke Endoh <mame / tsg.ne.jp>
----------------------------------------
Feature #6083: Hide a Bignum definition
https://bugs.ruby-lang.org/issues/6083#change-25392

Author: ko1 (Koichi Sasada)
Status: Assigned
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category: 
Target version: 2.0.0


Now, the struct RBignum which is a definition of Bignum in C is located in include/ruby/ruby.h.  It means we can't change implementation of Bignum.  For example, using GMP as Bignum representation.

I propose to move the struct RBignum definition from include/ruby/ruby.h to bignum.c.  I believe no one use struct RBignum directly (except core).

It has possibility to break binary compatibility.




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