Issue #11231 has been reported by Benoit Daloze.

----------------------------------------
Bug #11231: Should rb_alloc_tmp_buffer() be public API?
https://bugs.ruby-lang.org/issues/11231

* Author: Benoit Daloze
* Status: Open
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
rb_alloc_tmp_buffer() is declared in include/ruby/intern.h.

However it seems this is a fairly internal API as it deals with a 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() 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?



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