pub enum Instruction {
Show 134 variants
End,
Work {
amount: u32,
},
Spawn {
code: Vec<Instruction>,
dest: Register,
},
SpawnLink {
code: Vec<Instruction>,
dest: Register,
},
Send {
to: Source,
msg: String,
},
Receive {
dest: Register,
},
ReceiveTimeout {
dest: Register,
timeout: u32,
},
Link {
target: Source,
},
Unlink {
target: Source,
},
Monitor {
target: Source,
dest: Register,
},
Demonitor {
monitor_ref: Register,
},
Register {
name: String,
},
Unregister {
name: String,
},
WhereIs {
name: String,
dest: Register,
},
Print {
source: Source,
},
Crash,
Exit {
reason: Register,
},
TrapExit {
enable: bool,
},
LoadInt {
value: i64,
dest: Register,
},
Move {
source: Register,
dest: Register,
},
Add {
a: Operand,
b: Operand,
dest: Register,
},
Sub {
a: Operand,
b: Operand,
dest: Register,
},
Mul {
a: Operand,
b: Operand,
dest: Register,
},
Div {
a: Operand,
b: Operand,
dest: Register,
},
Mod {
a: Operand,
b: Operand,
dest: Register,
},
Eq {
a: Operand,
b: Operand,
dest: Register,
},
Ne {
a: Operand,
b: Operand,
dest: Register,
},
Lt {
a: Operand,
b: Operand,
dest: Register,
},
Lte {
a: Operand,
b: Operand,
dest: Register,
},
Gt {
a: Operand,
b: Operand,
dest: Register,
},
Gte {
a: Operand,
b: Operand,
dest: Register,
},
Jump {
target: usize,
},
JumpIf {
cond: Operand,
target: usize,
},
JumpUnless {
cond: Operand,
target: usize,
},
Call {
target: usize,
},
Return,
CallMFA {
module: String,
function: String,
arity: u8,
},
CallLocal {
function: String,
arity: u8,
},
TailCallMFA {
module: String,
function: String,
arity: u8,
},
TailCallLocal {
function: String,
arity: u8,
},
MakeFun {
module: String,
function: String,
arity: u8,
dest: Register,
},
Apply {
fun: Register,
arity: u8,
},
MakeClosure {
module: String,
function: String,
arity: u8,
captures: Vec<Register>,
dest: Register,
},
SpawnMFA {
module: String,
function: String,
arity: u8,
dest: Register,
},
SpawnLinkMFA {
module: String,
function: String,
arity: u8,
dest: Register,
},
Push {
source: Operand,
},
Pop {
dest: Register,
},
LoadAtom {
name: String,
dest: Register,
},
MakeTuple {
arity: u8,
dest: Register,
},
TupleElement {
tuple: Register,
index: u8,
dest: Register,
},
TupleArity {
tuple: Register,
dest: Register,
},
Match {
source: Register,
pattern: Pattern,
fail_target: usize,
},
ReceiveMatch {
clauses: Vec<(Pattern, usize)>,
timeout: Option<u32>,
timeout_target: usize,
},
MakeList {
length: u8,
dest: Register,
},
Cons {
head: Register,
tail: Register,
dest: Register,
},
ListHead {
list: Register,
dest: Register,
},
ListTail {
list: Register,
dest: Register,
},
ListIsEmpty {
list: Register,
dest: Register,
},
ListLength {
list: Register,
dest: Register,
},
ListAppend {
a: Register,
b: Register,
dest: Register,
},
ListReverse {
list: Register,
dest: Register,
},
ListNth {
list: Register,
n: Register,
dest: Register,
},
ListMember {
elem: Register,
list: Register,
dest: Register,
},
IsInteger {
source: Register,
dest: Register,
},
IsAtom {
source: Register,
dest: Register,
},
IsTuple {
source: Register,
dest: Register,
},
IsList {
source: Register,
dest: Register,
},
IsPid {
source: Register,
dest: Register,
},
IsFunction {
source: Register,
dest: Register,
},
IsString {
source: Register,
dest: Register,
},
IsMap {
source: Register,
dest: Register,
},
PutDict {
key: Register,
value: Register,
dest: Register,
},
GetDict {
key: Register,
dest: Register,
},
EraseDict {
key: Register,
dest: Register,
},
GetDictKeys {
dest: Register,
},
MakeMap {
count: u8,
dest: Register,
},
MapGet {
map: Register,
key: Register,
dest: Register,
},
MapGetDefault {
map: Register,
key: Register,
default: Register,
dest: Register,
},
MapPut {
map: Register,
key: Register,
value: Register,
dest: Register,
},
MapRemove {
map: Register,
key: Register,
dest: Register,
},
MapHas {
map: Register,
key: Register,
dest: Register,
},
MapSize {
map: Register,
dest: Register,
},
MapKeys {
map: Register,
dest: Register,
},
MapValues {
map: Register,
dest: Register,
},
MakeBinary {
bytes: Vec<u8>,
dest: Register,
},
BinarySize {
bin: Register,
dest: Register,
},
BinaryAt {
bin: Register,
index: Register,
dest: Register,
},
BinarySlice {
bin: Register,
start: Register,
len: Register,
dest: Register,
},
BinaryConcat {
a: Register,
b: Register,
dest: Register,
},
IsBinary {
source: Register,
dest: Register,
},
StringToBinary {
source: Register,
dest: Register,
},
BinaryToString {
source: Register,
dest: Register,
},
BinaryConstructSegments {
segments: Vec<(SegmentSource, BitSegment)>,
dest: Register,
},
BinaryMatchStart {
source: Register,
},
BinaryMatchSegment {
segment: BitSegment,
dest: Register,
fail_target: usize,
},
BinaryMatchRest {
dest: Register,
},
BinaryGetInteger {
bin: Register,
bit_offset: Register,
segment: BitSegment,
dest: Register,
},
BinaryPutInteger {
bin: Register,
bit_offset: Register,
value: Register,
segment: BitSegment,
dest: Register,
},
MakeRef {
dest: Register,
},
IsRef {
source: Register,
dest: Register,
},
LoadFloat {
value: f64,
dest: Register,
},
IsFloat {
source: Register,
dest: Register,
},
IntToFloat {
source: Register,
dest: Register,
},
FloatToInt {
source: Register,
dest: Register,
},
Floor {
source: Register,
dest: Register,
},
Ceil {
source: Register,
dest: Register,
},
Round {
source: Register,
dest: Register,
},
Trunc {
source: Register,
dest: Register,
},
Sqrt {
source: Register,
dest: Register,
},
Abs {
source: Register,
dest: Register,
},
Pow {
base: Register,
exp: Register,
dest: Register,
},
SendAfter {
delay: u32,
to: Source,
msg: Register,
dest: Register,
},
StartTimer {
delay: u32,
msg: Register,
dest: Register,
},
CancelTimer {
timer_ref: Register,
dest: Register,
},
ReadTimer {
timer_ref: Register,
dest: Register,
},
PrintLn {
source: Register,
},
ReadLine {
dest: Register,
},
FileRead {
path: Register,
dest: Register,
},
FileWrite {
path: Register,
content: Register,
dest: Register,
},
FileExists {
path: Register,
dest: Register,
},
FileDelete {
path: Register,
dest: Register,
},
SelfPid {
dest: Register,
},
ProcessList {
dest: Register,
},
ProcessCount {
dest: Register,
},
IsAlive {
pid: Register,
dest: Register,
},
ProcessInfo {
pid: Register,
dest: Register,
},
ModuleList {
dest: Register,
},
FunctionExported {
module: Register,
function: Register,
arity: Register,
dest: Register,
},
Try {
catch_target: usize,
after_target: Option<usize>,
},
EndTry,
Throw {
class: Register,
reason: Register,
},
GetException {
dest: Register,
},
ClearException,
Reraise,
}Expand description
Bytecode instructions
Variants§
End
Process is done
Work
Do some work (costs amount reductions)
Spawn
Spawn a new process running code, store child PID in register
SpawnLink
Spawn a new process and atomically link to it
Send
Send a message to a process
Receive
Receive a message matching a pattern, block if none available For now, just receives any user message into a register
ReceiveTimeout
Receive with timeout (in reductions). If no message arrives before timeout expires, receives “TIMEOUT” instead.
Link
Link to another process (bidirectional crash notification)
Unlink
Remove a bidirectional link to another process
Monitor
Monitor another process (one-way crash notification) Returns a monitor reference in dest for later demonitoring
Demonitor
Cancel a monitor by its reference
Register
Register current process with a name
Unregister
Unregister a name
WhereIs
Look up a registered name, store PID (or None) in register
Print a value (for debugging)
Crash
Crash the process (for testing links)
Exit
Exit the process with a reason (from register) If reason is :normal, linked processes are not signaled (unless they trap_exit) If reason is abnormal, linked processes receive exit signal
TrapExit
Set the trap_exit flag for this process When true, exit signals from linked processes become {:EXIT, Pid, Reason} messages When false (default), abnormal exit signals kill this process
LoadInt
Load an immediate integer into a register
Move
Move (copy) any value from source register to dest register
Add
Add two operands, store result in dest
Sub
Subtract b from a, store result in dest
Mul
Multiply two operands, store result in dest
Div
Divide a by b, store result in dest (integer division)
Mod
Modulo a by b, store result in dest
Eq
Compare equal: dest = (a == b) ? 1 : 0
Ne
Compare not equal: dest = (a != b) ? 1 : 0
Lt
Compare less than: dest = (a < b) ? 1 : 0
Lte
Compare less than or equal: dest = (a <= b) ? 1 : 0
Gt
Compare greater than: dest = (a > b) ? 1 : 0
Gte
Compare greater than or equal: dest = (a >= b) ? 1 : 0
Jump
Unconditional jump to instruction index
JumpIf
Jump to target if condition is truthy (non-zero integer)
JumpUnless
Jump to target if condition is falsy (zero or non-integer)
Call
Call a function: push return address onto call stack, jump to target
Return
Return from function: pop return address from call stack, jump to it If call stack is empty, ends the process
CallMFA
Call a function by MFA (Module:Function/Arity) Arguments must be in R0..R(arity-1) before call Return value will be in R0
CallLocal
Call a local function in the current module More efficient than CallMFA when calling within same module
TailCallMFA
Tail call MFA - call without pushing return frame
TailCallLocal
Tail call local - call without pushing return frame
MakeFun
Create a function reference and store in register
Apply
Apply a function reference (from register) to arguments Fun must be a Value::Fun or Value::Closure in the specified register Arguments in R0..R(arity-1)
MakeClosure
Create a closure capturing values from registers The closure references module:function but captures current register values When applied, captured values are placed after explicit arguments
SpawnMFA
Spawn a process running module:function/arity Arguments for the function must be in R0..R(arity-1)
SpawnLinkMFA
Spawn and link, running module:function/arity
Push
Push a value onto the data stack
Pop
Pop a value from the data stack into a register Crashes if stack is empty
LoadAtom
Load an atom into a register
MakeTuple
Create a tuple from the top arity stack elements
Elements are popped in reverse order (first pushed = first element)
TupleElement
Get an element from a tuple by index (0-based) Crashes if not a tuple or index out of bounds
TupleArity
Get the arity (size) of a tuple Crashes if not a tuple
Match
Match a value against a pattern On success: binds variables and continues to next instruction On failure: jumps to fail_target
ReceiveMatch
Receive with pattern matching Scans mailbox for first message matching any clause pattern. On match: removes message, binds variables, jumps to clause target. No match: blocks until a message arrives. Timeout: if set and expires, jumps to timeout_target.
Fields
MakeList
Create a list from the top length stack elements
Elements are popped in reverse order (first pushed = first element)
Cons
Cons: prepend an element to a list [elem | list] Crashes if tail is not a list
ListHead
Get the head (first element) of a list Crashes if not a list or empty
ListTail
Get the tail (rest) of a list Crashes if not a list or empty
ListIsEmpty
Check if a list is empty, store 1 (true) or 0 (false)
ListLength
Get the length of a list (O(n))
ListAppend
Append two lists (a ++ b) Crashes if either is not a list
ListReverse
Reverse a list Crashes if not a list
ListNth
Get the nth element of a list (0-based) Crashes if not a list or index out of bounds
ListMember
Check if an element is a member of a list Stores 1 (true) or 0 (false)
IsInteger
Check if value is an integer Stores 1 (true) or 0 (false)
IsAtom
Check if value is an atom Stores 1 (true) or 0 (false)
IsTuple
Check if value is a tuple Stores 1 (true) or 0 (false)
IsList
Check if value is a list (including empty list) Stores 1 (true) or 0 (false)
IsPid
Check if value is a PID Stores 1 (true) or 0 (false)
IsFunction
Check if value is a function (Fun or Closure) Stores 1 (true) or 0 (false)
IsString
Check if value is a string/binary Stores 1 (true) or 0 (false)
IsMap
Check if value is a map Stores 1 (true) or 0 (false)
PutDict
Store value in process dictionary, returns old value (or None) in dest
GetDict
Get value from process dictionary, stores None if key not found
EraseDict
Remove key from process dictionary, returns old value (or None) in dest
GetDictKeys
Get all keys from process dictionary as a list
MakeMap
Create a map from key-value pairs on the stack
Pops count pairs (2*count values: k1, v1, k2, v2, …) from stack
MapGet
Get value from map by key, crashes if key not found
MapGetDefault
Get value from map by key, returns default if not found
MapPut
Insert/update key-value in map, returns new map (maps are immutable)
MapRemove
Remove key from map, returns new map (maps are immutable)
MapHas
Check if key exists in map, stores 1 (true) or 0 (false)
MapSize
Get number of entries in map
MapKeys
Get all keys from map as a list
MapValues
Get all values from map as a list
MakeBinary
Create a binary from literal bytes
BinarySize
Get the size (byte length) of a binary
BinaryAt
Get a byte at index (0-based) Crashes if not a binary or index out of bounds
BinarySlice
Extract a slice from a binary Crashes if not a binary or range out of bounds
BinaryConcat
Concatenate two binaries Crashes if either is not a binary
IsBinary
Check if value is a binary Stores 1 (true) or 0 (false)
StringToBinary
Convert a string to a binary (UTF-8 encoded)
BinaryToString
Convert a binary to a string (assumes UTF-8) Crashes if binary is not valid UTF-8
BinaryConstructSegments
Construct a binary from segments Each segment specifies a value, type, size, endianness, and signedness Usage: push segment values to stack, then call with segment specs
Fields
segments: Vec<(SegmentSource, BitSegment)>Segment specifications (in order)
BinaryMatchStart
Start matching a binary - prepares for segment extraction Stores match state (current position) internally
BinaryMatchSegment
Match a segment from the binary at current position Advances the match position by the segment size Jumps to fail_target if match fails (not enough bytes, etc.)
Fields
segment: BitSegmentSegment specification
BinaryMatchRest
Get the remaining bytes after matching Returns the rest of the binary as a new binary value
BinaryGetInteger
Get an integer from a binary at bit offset with specified segment For random access bit extraction
Fields
segment: BitSegmentSegment specification
BinaryPutInteger
Put an integer into a binary at bit offset with specified segment Creates a new binary with the value inserted
Fields
segment: BitSegmentSegment specification
MakeRef
Create a new unique reference
IsRef
Check if value is a reference Stores 1 (true) or 0 (false)
LoadFloat
Load a floating-point immediate into a register
IsFloat
Check if value is a float Stores 1 (true) or 0 (false)
IntToFloat
Convert integer to float
FloatToInt
Convert float to integer (truncates toward zero)
Floor
Floor: round down to nearest integer (as float)
Ceil
Ceil: round up to nearest integer (as float)
Round
Round: round to nearest integer (as float)
Trunc
Trunc: truncate toward zero (as float)
Sqrt
Square root
Abs
Absolute value (works for both int and float)
Pow
Power: base^exponent (both operands, result is float)
SendAfter
Send a message to a process after a delay (in reductions) Returns a timer reference in dest for cancellation
StartTimer
Start a timer that sends {:timeout, ref, msg} to self after delay Returns the timer reference in dest
CancelTimer
Cancel a pending timer by its reference Returns the remaining time if timer was active, or :ok if already fired
ReadTimer
Read the remaining time on a timer (0 if already fired or cancelled)
PrintLn
Print a value to stdout with newline
ReadLine
Read a line from stdin into register as String Returns :eof atom if end of input
FileRead
Read entire file contents as binary Returns {:ok, binary} or {:error, reason}
FileWrite
Write binary/string to file Returns :ok or {:error, reason}
FileExists
Check if file exists Returns 1 (true) or 0 (false)
FileDelete
Delete a file Returns :ok or {:error, reason}
SelfPid
Get own PID into register
ProcessList
Get list of all process PIDs
ProcessCount
Get count of live processes
IsAlive
Check if a process is alive Returns 1 (true) or 0 (false)
ProcessInfo
Get process info as tuple Returns {status, mailbox_len, links_count, monitors_count, trap_exit}
ModuleList
Get list of loaded module names
FunctionExported
Check if function is exported Returns 1 (true) or 0 (false)
Try
Begin a try block. Pushes exception handler onto try stack. catch_target: where to jump on exception after_target: optional cleanup block (always runs)
EndTry
End a try block successfully. Pops handler from try stack. If there’s an after block, jumps to it.
Throw
Throw an exception. Unwinds to nearest catch handler. class: :error, :exit, or :throw reason: the exception reason (from register)
GetException
Get the current exception as {class, reason, stacktrace} tuple Used in catch blocks to access exception details
ClearException
Clear the current exception (after handling)
Reraise
Re-raise the current exception (in catch block)
Trait Implementations§
Source§impl Clone for Instruction
impl Clone for Instruction
Source§fn clone(&self) -> Instruction
fn clone(&self) -> Instruction
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for Instruction
impl RefUnwindSafe for Instruction
impl Send for Instruction
impl Sync for Instruction
impl Unpin for Instruction
impl UnwindSafe for Instruction
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more