Enum artichoke_backend::core::Ruby
source · [−]pub enum Ruby {
Show 21 variants
Array,
Bool,
Class,
CPointer,
Data,
Exception,
Fiber,
Fixnum,
Float,
Hash,
InlineStruct,
Module,
Nil,
Object,
Proc,
Range,
SingletonClass,
String,
Symbol,
Unreachable,
RecursiveSelfOwnership,
}
Expand description
Classes of Ruby types.
Variants
Array
Ruby Array
type.
Bool
Ruby TrueClass
and FalseClass
type.
Class
Ruby Class
type.
CPointer
FFI type for a borrowed C pointer.
Data
FFI type for an owned C pointer.
Exception
Ruby Exception
type.
Fiber
Ruby Fiber
type.
Fixnum
Ruby Fixnum
type.
Fixnum
is a type of Integer
which represents numbers from
[-u64::MAX, us64::MAX]
. Fixnum
s have a special algorithm for
object IDs: 2 * self - 1
.
Float
Ruby Float
type.
Hash
Ruby Hash
type.
Similar to a HashMap
, but iterates by insertion order.
InlineStruct
Internal type for non-heap allocated structs.
Module
Ruby Module
type.
Nil
Ruby nil
singleton type, the only instance of NilClass
.
Object
Ruby Object
type.
This type represents instances of classes defined in the Artichoke VM.
Proc
Ruby Proc
type.
Proc
is a callable closure that captures lexical scope. Proc
s can
be arbitrary arity and may or may not enforce this arity when called.
Range
Ruby Range
type.
Similar to a Rust iterator.
SingletonClass
Internal type for the singleton class of an object.
String
Ruby String
type.
In Artichoke, String
s have a limited set of encodings. A String
can
be UTF-8, maybe UTF-8, or binary.
Symbol
Ruby Symbol
type.
An interned String
. Symbols are never freed by the interpreter.
Unreachable
Unreachable interpreter value. Receiving one of these from the interpreter is a bug.
RecursiveSelfOwnership
A special Value
that is a placeholder for collections that own
themselves.
Implementations
sourceimpl Ruby
impl Ruby
sourcepub const fn class_name(self) -> &'static str
pub const fn class_name(self) -> &'static str
Ruby Class
name for VM type.
Trait Implementations
sourceimpl From<Ruby> for NoBlockGiven
impl From<Ruby> for NoBlockGiven
sourceimpl Ord for Ruby
impl Ord for Ruby
sourceimpl PartialOrd<Ruby> for Ruby
impl PartialOrd<Ruby> for Ruby
sourcefn partial_cmp(&self, other: &Ruby) -> Option<Ordering>
fn partial_cmp(&self, other: &Ruby) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Copy for Ruby
impl Eq for Ruby
impl StructuralEq for Ruby
impl StructuralPartialEq for Ruby
Auto Trait Implementations
impl RefUnwindSafe for Ruby
impl Send for Ruby
impl Sync for Ruby
impl Unpin for Ruby
impl UnwindSafe for Ruby
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more