Ruby: Deprecated List

Ruby 3.3.5p100 (2024-09-03 revision ef084cc8f4958c1b6e4ead99136631bef6d8ddba)

Deprecated List

Global _ (args)
  Nobody practically needs this macro any longer.
Global __ (args)
  Nobody practically needs this macro any longer.
Global ALLOC

  Use RB_ALLOC instead.

Global ALLOC_N

  Use RB_ALLOC_N instead.

Global ALLOCA_N (type, n)
  This macro is dangerous (does not bother stack overflow at all). RB_ALLOCV is the modern way to do the same thing.
Global ALLOCV

  Use RB_ALLOCV instead.

Global ALLOCV_END

  Use RB_ALLOCV_END instead.

Global ALLOCV_N

  Use RB_ALLOCV_N instead.

Global ASSUME

  Use RBIMPL_ASSUME instead.

Global BUILTIN_TYPE

  Use RB_BUILTIN_TYPE instead.

Global Check_SafeStr (v)
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global Check_TypedStruct (v, t)

  Use rb_check_typeddata instead.

Global CHR2FIX

  Use RB_CHR2FIX instead.

Global CLASS_OF

  Use rb_class_of instead.

Global CLONESETUP

  Use rb_clone_setup instead.

Global CONST_ID

  Use RUBY_CONST_ID instead.

Global CONST_ID_CACHE

  Use RUBY_CONST_ID_CACHE instead.

Global DBL2NUM

  Use rb_float_new instead.

Global DUPSETUP

  Use rb_dup_setup instead.

Global DYNAMIC_SYM_P

  Use RB_DYNAMIC_SYM_P instead.

Global ECONV_AFTER_OUTPUT

  Use RUBY_ECONV_AFTER_OUTPUT instead.

Global ECONV_CR_NEWLINE_DECORATOR

  Use RUBY_ECONV_CR_NEWLINE_DECORATOR instead.

Global ECONV_CRLF_NEWLINE_DECORATOR

  Use RUBY_ECONV_CRLF_NEWLINE_DECORATOR instead.

Global ECONV_DECORATOR_MASK

  Use RUBY_ECONV_DECORATOR_MASK instead.

Global ECONV_DEFAULT_NEWLINE_DECORATOR

  Use RUBY_ECONV_DEFAULT_NEWLINE_DECORATOR instead.

Global ECONV_ERROR_HANDLER_MASK

  Use RUBY_ECONV_ERROR_HANDLER_MASK instead.

Global ECONV_INVALID_MASK

  Use RUBY_ECONV_INVALID_MASK instead.

Global ECONV_INVALID_REPLACE

  Use RUBY_ECONV_INVALID_REPLACE instead.

Global ECONV_LF_NEWLINE_DECORATOR

  Use RUBY_ECONV_LF_NEWLINE_DECORATOR instead.

Global ECONV_NEWLINE_DECORATOR_MASK

  Use RUBY_ECONV_NEWLINE_DECORATOR_MASK instead.

Global ECONV_NEWLINE_DECORATOR_READ_MASK

  Use RUBY_ECONV_NEWLINE_DECORATOR_READ_MASK instead.

Global ECONV_NEWLINE_DECORATOR_WRITE_MASK

  Use RUBY_ECONV_NEWLINE_DECORATOR_WRITE_MASK instead.

Global ECONV_PARTIAL_INPUT

  Use RUBY_ECONV_PARTIAL_INPUT instead.

Global ECONV_STATEFUL_DECORATOR_MASK

  Use RUBY_ECONV_STATEFUL_DECORATOR_MASK instead.

Global ECONV_UNDEF_HEX_CHARREF

  Use RUBY_ECONV_UNDEF_HEX_CHARREF instead.

Global ECONV_UNDEF_MASK

  Use RUBY_ECONV_UNDEF_MASK instead.

Global ECONV_UNDEF_REPLACE

  Use RUBY_ECONV_UNDEF_REPLACE instead.

Global ECONV_UNIVERSAL_NEWLINE_DECORATOR

  Use RUBY_ECONV_UNIVERSAL_NEWLINE_DECORATOR instead.

Global ECONV_XML_ATTR_CONTENT_DECORATOR

  Use RUBY_ECONV_XML_ATTR_CONTENT_DECORATOR instead.

Global ECONV_XML_ATTR_QUOTE_DECORATOR

  Use RUBY_ECONV_XML_ATTR_QUOTE_DECORATOR instead.

Global ECONV_XML_TEXT_DECORATOR

  Use RUBY_ECONV_XML_TEXT_DECORATOR instead.

Global ELTS_SHARED

  Use RUBY_ELTS_SHARED instead.

Global ENC_CODERANGE (obj)

  Use RB_ENC_CODERANGE instead.

Global ENC_CODERANGE_7BIT

  Use RUBY_ENC_CODERANGE_7BIT instead.

Global ENC_CODERANGE_AND (a, b)

  Use RB_ENC_CODERANGE_AND instead.

Global ENC_CODERANGE_ASCIIONLY (obj)

  Use RB_ENC_CODERANGE_ASCIIONLY instead.

Global ENC_CODERANGE_BROKEN

  Use RUBY_ENC_CODERANGE_BROKEN instead.

Global ENC_CODERANGE_CLEAN_P (cr)

  Use RB_ENC_CODERANGE_CLEAN_P instead.

Global ENC_CODERANGE_CLEAR (obj)

  Use RB_ENC_CODERANGE_CLEAR instead.

Global ENC_CODERANGE_MASK

  Use RUBY_ENC_CODERANGE_MASK instead.

Global ENC_CODERANGE_SET (obj, cr)

  Use RB_ENC_CODERANGE_SET instead.

Global ENC_CODERANGE_UNKNOWN

  Use RUBY_ENC_CODERANGE_UNKNOWN instead.

Global ENC_CODERANGE_VALID

  Use RUBY_ENC_CODERANGE_VALID instead.

Global ENCODING_CODERANGE_SET (obj, encindex, cr)

  Use RB_ENCODING_CODERANGE_SET instead.

Global ENCODING_GET (obj)

  Use RB_ENCODING_GET instead.

Global ENCODING_GET_INLINED (obj)

  Use RB_ENCODING_GET_INLINED instead.

Global ENCODING_INLINE_MAX

  Use RUBY_ENCODING_INLINE_MAX instead.

Global ENCODING_IS_ASCII8BIT (obj)

  Use RB_ENCODING_IS_ASCII8BIT instead.

Global ENCODING_MASK

  Use RUBY_ENCODING_MASK instead.

Global ENCODING_MAXNAMELEN

  Use RUBY_ENCODING_MAXNAMELEN instead.

Global ENCODING_SET (obj, i)

  Use RB_ENCODING_SET instead.

Global ENCODING_SET_INLINED (obj, i)

  Use RB_ENCODING_SET_INLINED instead.

Global ENCODING_SHIFT

  Use RUBY_ENCODING_SHIFT instead.

Global FIX2INT

  Use RB_FIX2INT instead.

Global FIX2LONG

  Use RB_FIX2LONG instead.

Global FIX2SHORT

  Use RB_FIX2SHORT instead.

Global FIX2UINT

  Use RB_FIX2UINT instead.

Global FIX2ULONG

  Use RB_FIX2ULONG instead.

Global FIXABLE

  Use RB_FIXABLE instead.

Global FIXNUM_FLAG

  Use RUBY_FIXNUM_FLAG instead.

Global FIXNUM_MAX

  Use RUBY_FIXNUM_MAX instead.

Global FIXNUM_MIN

  Use RUBY_FIXNUM_MIN instead.

Global FIXNUM_P

  Use RB_FIXNUM_P instead.

Global FL_ABLE

  Use RB_FL_ABLE instead.

Global FL_ALL

  Use RB_FL_ALL instead.

Global FL_ALL_RAW

  Use RB_FL_ALL_RAW instead.

Global FL_ANY

  Use RB_FL_ANY instead.

Global FL_ANY_RAW

  Use RB_FL_ANY_RAW instead.

Global FL_EXIVAR

  Use RUBY_FL_EXIVAR instead.

Global FL_FINALIZE

  Use RUBY_FL_FINALIZE instead.

Global FL_FREEZE

  Use RUBY_FL_FREEZE instead.

Global FL_PROMOTED

  Use RUBY_FL_PROMOTED instead.

Global FL_REVERSE

  Use RB_FL_REVERSE instead.

Global FL_REVERSE_RAW

  Use RB_FL_REVERSE_RAW instead.

Global FL_SEEN_OBJ_ID

  Use RUBY_FL_SEEN_OBJ_ID instead.

Global FL_SET

  Use RB_FL_SET instead.

Global FL_SET_RAW

  Use RB_FL_SET_RAW instead.

Global FL_SHAREABLE

  Use RUBY_FL_SHAREABLE instead.

Global FL_SINGLETON

  Use RUBY_FL_SINGLETON instead.

Global FL_TAINT

  Use RUBY_FL_TAINT instead.

Global FL_TEST

  Use RB_FL_TEST instead.

Global FL_TEST_RAW

  Use RB_FL_TEST_RAW instead.

Global FL_UNSET

  Use RB_FL_UNSET instead.

Global FL_UNSET_RAW

  Use RB_FL_UNSET_RAW instead.

Global FL_UNTRUSTED

  Use RUBY_FL_UNTRUSTED instead.

Global FL_USER0

  Use RUBY_FL_USER0 instead.

Global FL_USER1

  Use RUBY_FL_USER1 instead.

Global FL_USER10

  Use RUBY_FL_USER10 instead.

Global FL_USER11

  Use RUBY_FL_USER11 instead.

Global FL_USER12

  Use RUBY_FL_USER12 instead.

Global FL_USER13

  Use RUBY_FL_USER13 instead.

Global FL_USER14

  Use RUBY_FL_USER14 instead.

Global FL_USER15

  Use RUBY_FL_USER15 instead.

Global FL_USER16

  Use RUBY_FL_USER16 instead.

Global FL_USER17

  Use RUBY_FL_USER17 instead.

Global FL_USER18

  Use RUBY_FL_USER18 instead.

Global FL_USER19

  Use RUBY_FL_USER19 instead.

Global FL_USER2

  Use RUBY_FL_USER2 instead.

Global FL_USER3

  Use RUBY_FL_USER3 instead.

Global FL_USER4

  Use RUBY_FL_USER4 instead.

Global FL_USER5

  Use RUBY_FL_USER5 instead.

Global FL_USER6

  Use RUBY_FL_USER6 instead.

Global FL_USER7

  Use RUBY_FL_USER7 instead.

Global FL_USER8

  Use RUBY_FL_USER8 instead.

Global FL_USER9

  Use RUBY_FL_USER9 instead.

Global FL_USHIFT

  Use RUBY_FL_USHIFT instead.

Global FL_WB_PROTECTED

  Use RUBY_FL_WB_PROTECTED instead.

Global FLONUM_FLAG

  Use RUBY_FLONUM_FLAG instead.

Global FLONUM_MASK

  Use RUBY_FLONUM_MASK instead.

Global FLONUM_P

  Use RB_FLONUM_P instead.

Global HAVE_NATIVETHREAD
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global HAVE_RB_DATA_TYPE_T_FUNCTION
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global HAVE_RB_DATA_TYPE_T_PARENT
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global HAVE_RB_DEFINE_ALLOC_FUNC
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global HAVE_RB_REG_NEW_STR
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global HAVE_RB_SCAN_ARGS_OPTIONAL_HASH
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global HAVE_TYPE_RB_DATA_TYPE_T
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global ID2SYM

  Use RB_ID2SYM instead.

Global IMMEDIATE_MASK

  Use RUBY_IMMEDIATE_MASK instead.

Global IMMEDIATE_P

  Use RB_IMMEDIATE_P instead.

Global INT2FIX

  Use RB_INT2FIX instead.

Global INT2NUM

  Use RB_INT2NUM instead.

Global ISALNUM

  Use rb_isalnum instead.

Global ISALPHA

  Use rb_isalpha instead.

Global ISASCII

  Use rb_isascii instead.

Global ISBLANK

  Use rb_isblank instead.

Global ISCNTRL

  Use rb_iscntrl instead.

Global ISDIGIT

  Use rb_isdigit instead.

Global ISGRAPH

  Use rb_isgraph instead.

Global ISLOWER

  Use rb_islower instead.

Global ISPRINT

  Use rb_isprint instead.

Global ISPUNCT

  Use rb_ispunct instead.

Global ISSPACE

  Use rb_isspace instead.

Global ISUPPER

  Use rb_isupper instead.

Global ISXDIGIT

  Use rb_isxdigit instead.

Global LL2NUM

  Use RB_LL2NUM instead.

Global LONG2FIX

  Use RB_INT2FIX instead.

Global LONG2NUM

  Use RB_LONG2NUM instead.

Global LONG_LONG
  Just use `long long` directly.
Global MBCLEN_CHARFOUND_LEN (ret)

  Use ONIGENC_MBCLEN_CHARFOUND_LEN instead.

Global MBCLEN_CHARFOUND_P (ret)

  Use ONIGENC_MBCLEN_CHARFOUND_P instead.

Global MBCLEN_INVALID_P (ret)

  Use ONIGENC_MBCLEN_INVALID_P instead.

Global MBCLEN_NEEDMORE_LEN (ret)

  Use ONIGENC_MBCLEN_NEEDMORE_LEN instead.

Global MBCLEN_NEEDMORE_P (ret)

  Use ONIGENC_MBCLEN_NEEDMORE_P instead.

Global NEGFIXABLE

  Use RB_NEGFIXABLE instead.

Global NEWOBJ

  Use RB_NEWOBJ instead.

Global NEWOBJ_OF

  Use RB_NEWOBJ_OF instead.

Global NIL_P

  Use RB_NIL_P instead.

Global NUM2CHR

  Use RB_NUM2CHR instead.

Global NUM2DBL

  Use rb_num2dbl instead.

Global NUM2INT

  Use RB_NUM2INT instead.

Global NUM2LL

  Use RB_NUM2LL instead.

Global NUM2LONG

  Use RB_NUM2LONG instead.

Global NUM2SHORT

  Use RB_NUM2SHORT instead.

Global NUM2SIZET

  Use RB_NUM2SIZE instead.

Global NUM2SSIZET

  Use RB_NUM2SSIZE instead.

Global NUM2UINT

  Use RB_NUM2UINT instead.

Global NUM2ULL

  Use RB_NUM2ULL instead.

Global NUM2ULONG

  Use RB_NUM2ULONG instead.

Global NUM2USHORT

  Use RB_NUM2USHORT instead.

Global OBJ_FREEZE

  Use RB_OBJ_FREEZE instead.

Global OBJ_FREEZE_RAW

  Use RB_OBJ_FREEZE_RAW instead.

Global OBJ_FROZEN

  Use RB_OBJ_FROZEN instead.

Global OBJ_FROZEN_RAW

  Use RB_OBJ_FROZEN_RAW instead.

Global OBJ_INFECT

  Use RB_OBJ_INFECT instead.

Global OBJ_INFECT_RAW

  Use RB_OBJ_INFECT_RAW instead.

Global OBJ_INIT_COPY (obj, orig)

  Use RB_OBJ_INIT_COPY instead.

Global OBJ_PROMOTED

  Use RB_OBJ_PROMOTED instead.

Global OBJ_PROMOTED_RAW

  Use RB_OBJ_PROMOTED_RAW instead.

Global OBJ_TAINT

  Use RB_OBJ_TAINT instead.

Global OBJ_TAINT_RAW

  Use RB_OBJ_TAINT_RAW instead.

Global OBJ_TAINTABLE

  Use RB_OBJ_TAINT_RAW instead.

Global OBJ_TAINTED

  Use RB_OBJ_TAINTED instead.

Global OBJ_TAINTED_RAW

  Use RB_OBJ_TAINTED_RAW instead.

Global OBJ_UNTRUST

  Use RB_OBJ_TAINT instead.

Global OBJ_UNTRUSTED

  Use RB_OBJ_TAINTED instead.

Global OBJ_WB_UNPROTECT

  Use RB_OBJ_WB_UNPROTECT instead.

Global OBJSETUP

  Use rb_obj_setup instead.

Global PATH_ENV
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global POSFIXABLE

  Use RB_POSFIXABLE instead.

Global Qfalse

  Use RUBY_Qfalse instead.

Global Qnil

  Use RUBY_Qnil instead.

Global Qtrue

  Use RUBY_Qtrue instead.

Global Qundef

  Use RUBY_Qundef instead.

Global RARRAY_AREF (a, i)
Global rb_ary_new2

  Use rb_ary_new_capa instead.

Global rb_ary_new3

  Use rb_ary_new_from_args instead.

Global rb_ary_new4

  Use rb_ary_new_from_values instead.

Global RB_BLOCK_CALL_FUNC_STRICT
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global rb_check_frozen_internal (obj)
Global rb_clone_setup (VALUE clone, VALUE obj)
  Not sure exactly when but at some time, the implementation of `Object#clone` stopped using this function. It remained untouched for a while, and then @shyouhei realised that they are no longer doing the same thing. It seems nobody seriously uses this function any longer. Let's just abandon it.
Global rb_complex_polar (VALUE abs, VALUE arg)

  Use rb_complex_new_polar instead.

Global rb_data_object_alloc (VALUE klass, void *data, RUBY_DATA_FUNC dmark, RUBY_DATA_FUNC dfree)
  This function was renamed to rb_data_object_wrap().
Global rb_data_typed_object_alloc (VALUE klass, void *datap, const rb_data_type_t *type)
  This function was renamed to rb_data_typed_object_wrap().
Global rb_defout
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global rb_dup_setup (VALUE dup, VALUE obj)
  Not sure exactly when but at some time, the implementation of `Object#dup` stopped using this function. It remained untouched for a while, and then @shyouhei realised that they are no longer the same thing. It seems nobody seriously uses this function any longer. Let's just abandon it.
Global rb_enc_codepoint (const char *p, const char *e, rb_encoding *enc)
  Use rb_enc_codepoint_len() instead.
Global RB_EVENT_HOOKS_HAVE_CALLBACK_DATA
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global rb_exc_new2

  Use rb_exc_new_cstr instead.

Global rb_exc_new3

  Use rb_exc_new_str instead.

Global rb_funcall2
  This is an old name of rb_funcallv(). Provided here for backwards compatibility to 2.x programs (introduced in 2.1). It is not a good name. Please don't use it any longer.
Global rb_funcall3
  This is an old name of rb_funcallv_public(). Provided here for backwards compatibility to 2.x programs (introduced in 2.1). It is not a good name. Please don't use it any longer.
Global rb_gc_force_recycle (VALUE obj)
  This is now a no-op function.
Global rb_get_path_no_checksafe (VALUE)
  This function is an alias of rb_get_path() now. The part that did "no_checksafe" was deleted. It remains here because of no harm.
Global rb_gvar_undef_getter
Global rb_gvar_undef_marker
Global rb_gvar_undef_setter
Global rb_gvar_var_getter
Global rb_gvar_var_marker
Global rb_gvar_var_setter
Global RB_INTEGER_TYPE_P

  Use rb_integer_type_p instead.

Global rb_io_taint_check (VALUE obj)
  This function once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global rb_io_wait_readable (int fd)
  We now prefer rb_io_maybe_wait_readable() over this one.
Global rb_io_wait_writable (int fd)
  We now prefer rb_io_maybe_wait_writable() over this one.
Global rb_iterate (VALUE(*func1)(VALUE), VALUE data1, rb_block_call_func_t proc, VALUE data2)
  This is an old API. Use rb_block_call() instead.
Global rb_memcmp
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global rb_mul_size_overflow (size_t a, size_t b, size_t max, size_t *c)
  This function was an implementation detail of old RB_ALLOCV_N(). We no longer use it. @shyouhei suspects that there are no actual usage now. However it was not marked as private before. We cannot delete it any longer.
Global RB_NUM_COERCE_FUNCS_NEED_OPID
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global RB_OBJ_INFECT (VALUE dst, VALUE src)
  This function once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global RB_OBJ_INFECT_RAW (VALUE dst, VALUE src)
  This function once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global RB_OBJ_TAINT (VALUE obj)
  This function once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global RB_OBJ_TAINT_RAW (VALUE obj)
  This function once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global RB_OBJ_TAINTABLE (VALUE obj)
  This function once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global RB_OBJ_TAINTED (VALUE obj)
  This function once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global RB_OBJ_TAINTED_RAW (VALUE obj)
  This function once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global rb_output_fs
  Assigning anything other than RUBY_Qnil to this variable is deprecated.
Global rb_output_rs
  Assigning anything other than RUBY_Qnil to this variable is deprecated.
Global rb_postponed_job_register (unsigned int flags, rb_postponed_job_func_t func, void *data)
  This interface implies that arbitrarily many `func`'s can be enqueued over the lifetime of the program, whilst in reality the registration slots for postponed jobs are a finite resource. This is made clearer by the `rb_postponed_job_preregister` and `rb_postponed_job_trigger` functions, and a future version of Ruby might delete this function.
Global rb_postponed_job_register_one (unsigned int flags, rb_postponed_job_func_t func, void *data)
  This is deprecated for the same reason as `rb_postponed_job_register`
Global rb_rs
  Assigning anything other than RUBY_Qnil to this variable is deprecated.
Global rb_str_buf_cat2

  Use rb_usascii_str_new_cstr instead.

Global rb_str_buf_new2

  Use rb_str_buf_new_cstr instead.

Global rb_str_cat2

  Use rb_str_cat_cstr instead.

Global rb_str_new2

  Use rb_str_new_cstr instead.

Global rb_str_new3

  Use rb_str_new_shared instead.

Global rb_str_new4

  Use rb_str_new_frozen instead.

Global rb_str_new5

  Use rb_str_new_with_class instead.

Global rb_usascii_str_new2

  Use rb_usascii_str_new_cstr instead.

Global rb_wait_for_single_fd (int fd, int events, struct timeval *tv)
  We now prefer rb_io_maybe_wait() over this one.
Struct RData
Global REALLOC_N

  Use RB_REALLOC_N instead.

Global Regexp
  Use re_pattern_buffer instead.
Global RFLOAT_VALUE

  Use rb_float_value instead.

Global RGENGC_WB_PROTECTED_NODE_CREF
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global RHASH_IFNONE (h)
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global RSTRUCT_PTR (st)
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global ruby::backward::cxxanyargs::define_method::driver0< T, F >::engine< N, U >::define (T mid, type func)
  Pass correctly typed function instead.
Global ruby::backward::cxxanyargs::define_method::driver0< T, F >::engine< N, U >::define (T mid, notimpl_type func)
  Pass correctly typed function instead.
Global ruby::backward::cxxanyargs::define_method::driver< T, F >::engine< N, U >::define (VALUE klass, T mid, type func)
  Pass correctly typed function instead.
Global ruby::backward::cxxanyargs::rb_block_call (VALUE q, ID w, int e, const VALUE *r, type *t, VALUE y)
  Use granular typed overload instead.
Global ruby::backward::cxxanyargs::rb_catch (const char *q, type *w, VALUE e)
  Use granular typed overload instead.
Global ruby::backward::cxxanyargs::rb_catch_obj (VALUE q, type *w, VALUE e)
  Use granular typed overload instead.
Global ruby::backward::cxxanyargs::rb_define_hooked_variable (const char *q, VALUE *w, type *e, void_type *r)
  Use granular typed overload instead.
Global ruby::backward::cxxanyargs::rb_define_virtual_variable (const char *q, type *w, void_type *e)
  Use granular typed overload instead.
Global ruby::backward::cxxanyargs::rb_ensure (type *q, VALUE w, type *e, VALUE r)
  Use granular typed overload instead.
Global ruby::backward::cxxanyargs::rb_fiber_new (type *q, VALUE w)
  Use granular typed overload instead.
Global ruby::backward::cxxanyargs::rb_hash_foreach (VALUE q, int_type *w, VALUE e)
  Use granular typed overload instead.
Global ruby::backward::cxxanyargs::rb_iterate (onearg_type *q, VALUE w, type *e, VALUE r)
  This function is obsoleted since long before 2.x era. Do not use it any longer. rb_block_call() is provided instead.
Global ruby::backward::cxxanyargs::rb_ivar_foreach (VALUE q, int_type *w, VALUE e)
  Use granular typed overload instead.
Global ruby::backward::cxxanyargs::rb_proc_new (type *q, VALUE w)
  Use granular typed overload instead.
Global ruby::backward::cxxanyargs::rb_rescue (type *q, VALUE w, type *e, VALUE r)
  Use granular typed overload instead.
Global ruby::backward::cxxanyargs::rb_rescue2 (type *q, VALUE w, type *e, VALUE r,...)
  Use granular typed overload instead.
Global ruby::backward::cxxanyargs::rb_thread_create (type *q, void *w)
  Use granular typed overload instead.
Global ruby::backward::cxxanyargs::st_foreach (st_table *q, int_type *w, st_data_t e)
  Use granular typed overload instead.
Global ruby::backward::cxxanyargs::st_foreach_check (st_table *q, int_type *w, st_data_t e, st_data_t)
  Use granular typed overload instead.
Global ruby::backward::cxxanyargs::st_foreach_safe (st_table *q, int_type *w, st_data_t e)
  Use granular typed overload instead.
Global ruby::backward::rb_iterate_deprecated (VALUE(*iter)(VALUE), VALUE data1, rb_block_call_func_t bl, VALUE data2)
  This is an old API. Use rb_block_call() instead.
Global RUBY_BLOCK_CALL_FUNC_TAKES_BLOCKARG
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_
  It seems even in the old days it made no sense...?
Global RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_AFTER
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global RUBY_CONST_ID (var, str)
  Does anyone use it? Preserved for backward compat.
Global RUBY_CONST_ID_CACHE (result, str)
  Does anyone use it? Preserved for backward compat.
Global RUBY_EVENT_SWITCH

  Use RUBY_INTERNAL_EVENT_SWITCH instead.

Global RUBY_FL_DUPPED
  This flag once was a thing back in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global RUBY_FL_TAINT
  This flag once was a thing back in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global RUBY_FL_UNTRUSTED
  This flag once was a thing back in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global RUBY_FL_WB_PROTECTED
  This flag once was a thing back in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global RUBY_INTEGER_UNIFICATION
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global RUBY_UNTYPED_DATA_FUNC (f)
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global RUBY_VM
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global SafeStringValue (v)
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global scan_hex (s, l, e)

  Use ruby_scan_hex instead.

Global scan_oct (s, l, e)

  Use ruby_scan_oct instead.

Global SIZET2NUM

  Use RB_SIZE2NUM instead.

Global SPECIAL_CONST_P

  Use RB_SPECIAL_CONST_P instead.

Global SSIZET2NUM

  Use RB_SSIZE2NUM instead.

Global ST2FIX

  Use RB_ST2FIX instead.

Global STATIC_SYM_P

  Use RB_STATIC_SYM_P instead.

Global STRCASECMP

  Use st_locale_insensitive_strcasecmp instead.

Global STRNCASECMP

  Use st_locale_insensitive_strncasecmp instead.

Global STRTOUL

  Use ruby_strtoul instead.

Global SYM2ID

  Use RB_SYM2ID instead.

Global SYMBOL_FLAG

  Use RUBY_SYMBOL_FLAG instead.

Global SYMBOL_P

  Use RB_SYMBOL_P instead.

Global T_ARRAY

  Use RUBY_T_ARRAY instead.

Global T_BIGNUM

  Use RUBY_T_BIGNUM instead.

Global T_CLASS

  Use RUBY_T_CLASS instead.

Global T_COMPLEX

  Use RUBY_T_COMPLEX instead.

Global T_DATA

  Use RUBY_T_DATA instead.

Global T_FALSE

  Use RUBY_T_FALSE instead.

Global T_FILE

  Use RUBY_T_FILE instead.

Global T_FIXNUM

  Use RUBY_T_FIXNUM instead.

Global T_FLOAT

  Use RUBY_T_FLOAT instead.

Global T_HASH

  Use RUBY_T_HASH instead.

Global T_ICLASS

  Use RUBY_T_ICLASS instead.

Global T_IMEMO

  Use RUBY_T_IMEMO instead.

Global T_MASK

  Use RUBY_T_MASK instead.

Global T_MATCH

  Use RUBY_T_MATCH instead.

Global T_MODULE

  Use RUBY_T_MODULE instead.

Global T_MOVED

  Use RUBY_T_MOVED instead.

Global T_NIL

  Use RUBY_T_NIL instead.

Global T_NODE

  Use RUBY_T_NODE instead.

Global T_NONE

  Use RUBY_T_NONE instead.

Global T_OBJECT

  Use RUBY_T_OBJECT instead.

Global T_RATIONAL

  Use RUBY_T_RATIONAL instead.

Global T_REGEXP

  Use RUBY_T_REGEXP instead.

Global T_STRING

  Use RUBY_T_STRING instead.

Global T_STRUCT

  Use RUBY_T_STRUCT instead.

Global T_SYMBOL

  Use RUBY_T_SYMBOL instead.

Global T_TRUE

  Use RUBY_T_TRUE instead.

Global T_UNDEF

  Use RUBY_T_UNDEF instead.

Global T_ZOMBIE

  Use RUBY_T_ZOMBIE instead.

Global TOLOWER

  Use rb_tolower instead.

Global TOUPPER

  Use rb_toupper instead.

Global TYPE (_)

  Use rb_type instead.

Global UINT2NUM

  Use RB_UINT2NUM instead.

Global ULL2NUM

  Use RB_ULL2NUM instead.

Global ULONG2NUM

  Use RB_ULONG2NUM instead.

Global UNREACHABLE

  Use RBIMPL_UNREACHABLE instead.

Global UNREACHABLE_RETURN

  Use RBIMPL_UNREACHABLE_RETURN instead.

Global USE_RGENGC
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global USE_RGENGC_LOGGING_WB_UNPROTECT
  This macro seems broken. Setting this to anything other than zero just doesn't compile. We need to KonMari.
Global USE_SYMBOL_AS_METHOD_NAME
  This macro once was a thing in the old days, but makes no sense any longer today. Exists here for backwards compatibility only. You can safely forget about it.
Global USHORT2NUM

  Use RB_INT2FIX instead.

Global xcalloc

  Use ruby_xcalloc instead.

Global xfree

  Use ruby_xfree instead.

Global xmalloc

  Use ruby_xmalloc instead.

Global xmalloc2

  Use ruby_xmalloc2 instead.

Global xrealloc

  Use ruby_xrealloc instead.

Global xrealloc2

  Use ruby_xrealloc2 instead.

Global ZALLOC

  Use RB_ZALLOC instead.

Global ZALLOC_N

  Use RB_ZALLOC_N instead.