Module lrs::intrinsics

Compiler intrinsics

Description

This module provides direct access to compiler built-in functions. They are all unsafe and have safe wrappers in other modules.

Functions

NameDescription
abort

Aborts the process.

breakpoint

Raises a SIGTRAP.

copy

Copies memory between two pointers.

copy_nonoverlapping

Copies memory between two non-overlapping pointers.

discriminant_value

Calculates the discriminant of an enum variant.

forget

Moves an object without running its destructor.

init

Creates a value with all bytes set to zero.

init_dropped

Creates a value that appears to have had its destructor run.

lrs_abort

Aborts the process.

min_align_of

Calculates the alignment of a type.

move_val_init

Stores a new value in an object without running the object's destructor.

needs_drop

Checks whether a type has a destructor.

offset

Creates a pointer by calculating an offset from another one.

size_of

Calculates the size of a type.

transmute

Casts an object to another type.

Returns the same object but interpreted as an object of type U.

uninit

Creates an uninitialized object.

unreachable

Informs the optimizer that the execution cannot reach this point.