Skip to main content

RuntimeSymbol

Enum RuntimeSymbol 

Source
pub enum RuntimeSymbol {
Show 209 variants AllocBool, AllocChar, AllocClosure, AllocEnum, AllocFloat, AllocInt, AllocRecord, AllocText, AllocTuple, AllocUnit, AllocVarCell, Assert, AStarDistance, AStarPath, Bfs, BfsDistance, BfsPath, BitsetContains, BitsetInsert, BitsetIsEmpty, BitsetItems, BitsetLen, BitsetNew, Breakpoint, BitsetRemove, BoolLoad, CharLoad, CharToInt, CharToText, CheckFault, ClosureCapture, ClosureFnPtr, ClosureSetCapture, CounterGet, CounterInc, CounterKeys, CounterSet, CounterValues, CounterIsEmpty, CounterLen, CounterNew, DequeGet, DequeIsEmpty, DequeLen, DequeNew, DequePopBack, DequePopFront, DequePushBack, DequePushFront, DequeSet, Dbg, Dfs, DfsDistance, DfsPath, Dijkstra, DijkstraDistance, DijkstraPath, EnumPayload, EnumSetPayload, EnumTag, FloatAbs, FloatCeil, FloatE, FloatFloor, FloatIsInfinite, FloatIsNan, FloatLoad, FloatMax, FloatMin, FloatPi, FloatRound, FloatSign, FloatSqrt, FloatToInt, FloatToText, FloodFill, GetInput, GridAround4, GridAround8, GridCells, GridColumn, GridContains, GridCount4, GridCount4Where, GridCount8, GridCount8Where, GridFilled, GridFind, GridFindAll, GridGet, GridHeight, GridNeighbors4, GridNeighbors8, GridNew, GridPositions, GridRotateLeft, GridRotateRight, GridRow, GridSet, GridTranspose, GridWidth, IntAbs, IntAdd, IntCheckedAdd, IntCheckedMul, IntCheckedSub, IntClamp, IntDiv, IntEq, IntGcd, IntGe, IntGt, IntLcm, IntLe, IntLoad, IntLt, IntMax, IntMin, IntMul, IntNe, IntNeg, IntRem, IntSaturatingAdd, IntSaturatingMul, IntSaturatingSub, IntSign, IntSub, IntToChar, IntToFloat, IntToText, IntWrappingAdd, IntWrappingMul, IntWrappingSub, MapContains, RangeGet, RangeLen, RangeNew, RangeNewInclusive, MapGet, MapIndex, MapInsert, MapIsEmpty, MapKeys, MapLen, MapNew, MapRemove, MapUpdateMax, MapValues, MapUpdateMin, MaxHeapIsEmpty, MaxHeapItems, MaxHeapLen, MaxHeapNew, MaxHeapPeek, MaxHeapPop, MaxHeapPush, MinHeapIsEmpty, MinHeapItems, MinHeapLen, MinHeapNew, MinHeapPeek, MinHeapPop, MinHeapPush, Panic, RaiseDivByZeroIf, RaiseEmptyCollection, RaiseIntOverflowIf, RaiseStackOverflow, RecordField, RecordSetField, RunParser, SetContains, SetInsert, SetIsEmpty, SetItems, SetLen, SetNew, SetRemove, SnapshotDebugChain, StructEq, TextConcat, TextGet, TextFloat, TextInt, TextIsEmpty, TextLen, TupleGet, TupleSet, ValueCmp, ValueToText, VarCellGet, VarCellSet, VecChunks, VecFilled, VecFrequencies, VecGet, VecIsEmpty, VecJoin, VecLen, VecNew, VecPush, VecReversed, VecSet, VecSorted, VecSortedByKey, VecToText, VecUnique, VecWindows, WriteStdout,
}
Expand description

Every praxis_* runtime wrapper generated code may call.

A call target in MIR is one of these, so “the compiler emitted a call to a symbol that does not exist” is not a representable state.

Variants§

§

AllocBool

praxis_alloc_bool

§

AllocChar

praxis_alloc_char

§

AllocClosure

praxis_alloc_closure

§

AllocEnum

praxis_alloc_enum

§

AllocFloat

praxis_alloc_float

§

AllocInt

praxis_alloc_int

§

AllocRecord

praxis_alloc_record

§

AllocText

praxis_alloc_text

§

AllocTuple

praxis_alloc_tuple

§

AllocUnit

praxis_alloc_unit

§

AllocVarCell

praxis_alloc_var_cell

§

Assert

praxis_assert

§

AStarDistance

praxis_a_star_distance

§

AStarPath

praxis_a_star_path

§

Bfs

praxis_bfs

§

BfsDistance

praxis_bfs_distance

§

BfsPath

praxis_bfs_path

§

BitsetContains

praxis_bitset_contains

§

BitsetInsert

praxis_bitset_insert

§

BitsetIsEmpty

praxis_bitset_is_empty

§

BitsetItems

praxis_bitset_items

§

BitsetLen

praxis_bitset_len

§

BitsetNew

praxis_bitset_new

§

Breakpoint

praxis_breakpoint

§

BitsetRemove

praxis_bitset_remove

§

BoolLoad

praxis_bool_load

§

CharLoad

praxis_char_load

§

CharToInt

praxis_char_to_int

§

CharToText

praxis_char_to_text

§

CheckFault

praxis_check_fault

§

ClosureCapture

praxis_closure_capture

§

ClosureFnPtr

praxis_closure_fn_ptr

§

ClosureSetCapture

praxis_closure_set_capture

§

CounterGet

praxis_counter_get

§

CounterInc

praxis_counter_inc

§

CounterKeys

praxis_counter_keys

§

CounterSet

praxis_counter_set

§

CounterValues

praxis_counter_values

§

CounterIsEmpty

praxis_counter_is_empty

§

CounterLen

praxis_counter_len

§

CounterNew

praxis_counter_new

§

DequeGet

praxis_deque_get

§

DequeIsEmpty

praxis_deque_is_empty

§

DequeLen

praxis_deque_len

§

DequeNew

praxis_deque_new

§

DequePopBack

praxis_deque_pop_back

§

DequePopFront

praxis_deque_pop_front

§

DequePushBack

praxis_deque_push_back

§

DequePushFront

praxis_deque_push_front

§

DequeSet

praxis_deque_set

§

Dbg

praxis_dbg

§

Dfs

praxis_dfs

§

DfsDistance

praxis_dfs_distance

§

DfsPath

praxis_dfs_path

§

Dijkstra

praxis_dijkstra

§

DijkstraDistance

praxis_dijkstra_distance

§

DijkstraPath

praxis_dijkstra_path

§

EnumPayload

praxis_enum_payload

§

EnumSetPayload

praxis_enum_set_payload

§

EnumTag

praxis_enum_tag

§

FloatAbs

praxis_float_abs

§

FloatCeil

praxis_float_ceil

§

FloatE

praxis_float_e

§

FloatFloor

praxis_float_floor

§

FloatIsInfinite

praxis_float_is_infinite

§

FloatIsNan

praxis_float_is_nan

§

FloatLoad

praxis_float_load

§

FloatMax

praxis_float_max

§

FloatMin

praxis_float_min

§

FloatPi

praxis_float_pi

§

FloatRound

praxis_float_round

§

FloatSign

praxis_float_sign

§

FloatSqrt

praxis_float_sqrt

§

FloatToInt

praxis_float_to_int

§

FloatToText

praxis_float_to_text

§

FloodFill

praxis_flood_fill

§

GetInput

praxis_get_input

§

GridAround4

praxis_grid_around4

§

GridAround8

praxis_grid_around8

§

GridCells

praxis_grid_cells

§

GridColumn

praxis_grid_column

§

GridContains

praxis_grid_contains

§

GridCount4

praxis_grid_count4

§

GridCount4Where

praxis_grid_count4_where

§

GridCount8

praxis_grid_count8

§

GridCount8Where

praxis_grid_count8_where

§

GridFilled

praxis_grid_filled

§

GridFind

praxis_grid_find

§

GridFindAll

praxis_grid_find_all

§

GridGet

praxis_grid_get

§

GridHeight

praxis_grid_height

§

GridNeighbors4

praxis_grid_neighbors4

§

GridNeighbors8

praxis_grid_neighbors8

§

GridNew

praxis_grid_new

§

GridPositions

praxis_grid_positions

§

GridRotateLeft

praxis_grid_rotate_left

§

GridRotateRight

praxis_grid_rotate_right

§

GridRow

praxis_grid_row

§

GridSet

praxis_grid_set

§

GridTranspose

praxis_grid_transpose

§

GridWidth

praxis_grid_width

§

IntAbs

praxis_int_abs

§

IntAdd

praxis_int_add

§

IntCheckedAdd

praxis_int_checked_add

§

IntCheckedMul

praxis_int_checked_mul

§

IntCheckedSub

praxis_int_checked_sub

§

IntClamp

praxis_int_clamp

§

IntDiv

praxis_int_div

§

IntEq

praxis_int_eq

§

IntGcd

praxis_int_gcd

§

IntGe

praxis_int_ge

§

IntGt

praxis_int_gt

§

IntLcm

praxis_int_lcm

§

IntLe

praxis_int_le

§

IntLoad

praxis_int_load

§

IntLt

praxis_int_lt

§

IntMax

praxis_int_max

§

IntMin

praxis_int_min

§

IntMul

praxis_int_mul

§

IntNe

praxis_int_ne

§

IntNeg

praxis_int_neg

§

IntRem

praxis_int_rem

§

IntSaturatingAdd

praxis_int_saturating_add

§

IntSaturatingMul

praxis_int_saturating_mul

§

IntSaturatingSub

praxis_int_saturating_sub

§

IntSign

praxis_int_sign

§

IntSub

praxis_int_sub

§

IntToChar

praxis_int_to_char

§

IntToFloat

praxis_int_to_float

§

IntToText

praxis_int_to_text

§

IntWrappingAdd

praxis_int_wrapping_add

§

IntWrappingMul

praxis_int_wrapping_mul

§

IntWrappingSub

praxis_int_wrapping_sub

§

MapContains

praxis_map_contains

§

RangeGet

praxis_range_get

§

RangeLen

praxis_range_len

§

RangeNew

praxis_range_new

§

RangeNewInclusive

praxis_range_new_inclusive

§

MapGet

praxis_map_get

§

MapIndex

praxis_map_index

§

MapInsert

praxis_map_insert

§

MapIsEmpty

praxis_map_is_empty

§

MapKeys

praxis_map_keys

§

MapLen

praxis_map_len

§

MapNew

praxis_map_new

§

MapRemove

praxis_map_remove

§

MapUpdateMax

praxis_map_update_max

§

MapValues

praxis_map_values

§

MapUpdateMin

praxis_map_update_min

§

MaxHeapIsEmpty

praxis_max_heap_is_empty

§

MaxHeapItems

praxis_max_heap_items

§

MaxHeapLen

praxis_max_heap_len

§

MaxHeapNew

praxis_max_heap_new

§

MaxHeapPeek

praxis_max_heap_peek

§

MaxHeapPop

praxis_max_heap_pop

§

MaxHeapPush

praxis_max_heap_push

§

MinHeapIsEmpty

praxis_min_heap_is_empty

§

MinHeapItems

praxis_min_heap_items

§

MinHeapLen

praxis_min_heap_len

§

MinHeapNew

praxis_min_heap_new

§

MinHeapPeek

praxis_min_heap_peek

§

MinHeapPop

praxis_min_heap_pop

§

MinHeapPush

praxis_min_heap_push

§

Panic

praxis_panic

§

RaiseDivByZeroIf

praxis_raise_div_by_zero_if

§

RaiseEmptyCollection

praxis_raise_empty_collection

§

RaiseIntOverflowIf

praxis_raise_int_overflow_if

§

RaiseStackOverflow

praxis_raise_stack_overflow

§

RecordField

praxis_record_field

§

RecordSetField

praxis_record_set_field

§

RunParser

praxis_run_parser

§

SetContains

praxis_set_contains

§

SetInsert

praxis_set_insert

§

SetIsEmpty

praxis_set_is_empty

§

SetItems

praxis_set_items

§

SetLen

praxis_set_len

§

SetNew

praxis_set_new

§

SetRemove

praxis_set_remove

§

SnapshotDebugChain

praxis_snapshot_debug_chain

§

StructEq

praxis_struct_eq

§

TextConcat

praxis_text_concat

§

TextGet

praxis_text_get

§

TextFloat

praxis_text_float

§

TextInt

praxis_text_int

§

TextIsEmpty

praxis_text_is_empty

§

TextLen

praxis_text_len

§

TupleGet

praxis_tuple_get

§

TupleSet

praxis_tuple_set

§

ValueCmp

praxis_value_cmp

§

ValueToText

praxis_value_to_text

§

VarCellGet

praxis_var_cell_get

§

VarCellSet

praxis_var_cell_set

§

VecChunks

praxis_vec_chunks

§

VecFilled

praxis_vec_filled

§

VecFrequencies

praxis_vec_frequencies

§

VecGet

praxis_vec_get

§

VecIsEmpty

praxis_vec_is_empty

§

VecJoin

praxis_vec_join

§

VecLen

praxis_vec_len

§

VecNew

praxis_vec_new

§

VecPush

praxis_vec_push

§

VecReversed

praxis_vec_reversed

§

VecSet

praxis_vec_set

§

VecSorted

praxis_vec_sorted

§

VecSortedByKey

praxis_vec_sorted_by_key

§

VecToText

praxis_vec_to_text

§

VecUnique

praxis_vec_unique

§

VecWindows

praxis_vec_windows

§

WriteStdout

praxis_write_stdout

Implementations§

Source§

impl RuntimeSymbol

Source

pub const fn allocates(self) -> bool

Whether calling this symbol may trigger a collection (a safepoint).

Source

pub const fn faults(self) -> bool

Whether calling this symbol may set a pending fault.

Source

pub const fn arity(self) -> usize

Parameter count excluding the leading context pointer.

Source§

impl RuntimeSymbol

Source

pub const ALL: &'static [RuntimeSymbol]

Every symbol, in declaration order.

Source

pub const fn name(self) -> &'static str

The exact linker symbol name. This is the only place the string is written.

Source

pub const fn sig(self) -> AbiSig

This symbol’s parameter kinds, return kind and effect.

Source

pub fn from_name(name: &str) -> Option<RuntimeSymbol>

Recover a symbol from its linker name. The inverse of RuntimeSymbol::name; used where a name crosses a boundary that is not yet typed.

Trait Implementations§

Source§

impl Clone for RuntimeSymbol

Source§

fn clone(&self) -> RuntimeSymbol

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for RuntimeSymbol

Source§

impl Debug for RuntimeSymbol

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for RuntimeSymbol

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for RuntimeSymbol

Source§

impl Hash for RuntimeSymbol

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Ord for RuntimeSymbol

Source§

fn cmp(&self, other: &RuntimeSymbol) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 (const: unstable) · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 (const: unstable) · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for RuntimeSymbol

Source§

fn eq(&self, other: &RuntimeSymbol) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl PartialOrd for RuntimeSymbol

Source§

fn partial_cmp(&self, other: &RuntimeSymbol) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl StructuralPartialEq for RuntimeSymbol

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.