#[repr(u32)]pub enum ruby_rarray_flags {
RARRAY_EMBED_FLAG = 8_192,
RARRAY_EMBED_LEN_MASK = 4_161_536,
}Expand description
§Private
Bits that you can set to ::RBasic::flags.
@warning These enums are not the only bits we use for arrays.
@internal
§Unlike strings, flag usages for arrays are scattered across the entire source codes. @shyouhei doesn’t know the complete list. But what is listed here is at least incomplete.
Generated by rb-sys for Ruby mri-x86_64-linux-gnu-3.3.8
Variants§
RARRAY_EMBED_FLAG = 8_192
This flag has something to do with memory footprint. If the array is “small” enough, ruby tries to be creative to abuse padding bits of struct ::RArray for storing its contents. This flag denotes that situation.
@warning This bit has to be considered read-only. Setting/clearing this bit without corresponding fix up must cause immediate SEGV. Also, internal structures of an array change dynamically and transparently throughout of its lifetime. Don’t assume it being persistent.
@internal
§3rd parties must not be aware that there even is more than one way to store array elements. It was a bad idea to expose this to them.
Generated by rb-sys for Ruby mri-x86_64-linux-gnu-3.3.8
RARRAY_EMBED_LEN_MASK = 4_161_536
When an array employs embedded strategy (see ::RARRAY_EMBED_FLAG), these bits are used to store the number of elements actually filled into ::RArray::ary.
@internal
§3rd parties must not be aware that there even is more than one way to store array elements. It was a bad idea to expose this to them.
Generated by rb-sys for Ruby mri-x86_64-linux-gnu-3.3.8
Trait Implementations§
Source§impl Clone for ruby_rarray_flags
impl Clone for ruby_rarray_flags
Source§fn clone(&self) -> ruby_rarray_flags
fn clone(&self) -> ruby_rarray_flags
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more