Project

General

Profile

Bug #11231

Updated by nobu (Nobuyoshi Nakada) almost 9 years ago

`rb_alloc_tmp_buffer()` rb_alloc_tmp_buffer() is declared in `include/ruby/intern.h`. include/ruby/intern.h. 

 However it seems this is a fairly internal API as it deals with a `VALUE` VALUE pointer and has undocumented liveliness/GC behavior. 

 There was a try to specify it in 
 https://github.com/rubinius/rubinius/commit/bf0a6b988661d3917e9dcea62746b07b5f6d00ca 
 but this results in SEGV on MRI (I guess it is not intended usage of the API, but what would be correct usage?). 

 It is used in the `ALLOCV()` ALLOCV() macro, which is maybe the reason why this is part of the header? 

 Is there a way to hide such internal function? 
 Or is it on purpose declared publicly?

Back