Feature #9916

Hide Struct internal

Added by shyouhei (Shyouhei Urabe) about 6 years ago. Updated almost 4 years ago.

Target version:


is a bit big so I attach the proposal but basically same as my previous proposals. I'd like to make strct RStruct opaque. The benefit is that by hiding its const VALUE* ptr part we can optimize GC pressure. That GC tweaks are not included in the attached patch because I prefer compatibility here. But this patch does make things easier.


opaque-RStruct.patch (6.16 KB) opaque-RStruct.patch shyouhei (Shyouhei Urabe), 06/07/2014 12:05 PM

Updated by hsbt (Hiroshi SHIBATA) about 6 years ago

  • Assignee set to shyouhei (Shyouhei Urabe)

Updated by hsbt (Hiroshi SHIBATA) about 6 years ago

  • Status changed from Open to Assigned

Updated by shyouhei (Shyouhei Urabe) almost 4 years ago

  • Status changed from Assigned to Closed

Applied in changeset r55788.

hide struct internal [Feature #9916]

* include/ruby/ruby.h (struct RStruct): no longer.

* internal.h (struct RStruct): moved here.

* struct.c (rb_struct_ptr): a compensation function for the lack
  of RSTRUCT_PTR.  But now that we have RSTRUCT_GET/SET, that must
  not be used anyway.  I mark this deprecated.  Dont use it.

Also available in: Atom PDF