Skip to main content

Module intrinsics

Module intrinsics 

Source
Expand description

Intrinsics and other functions that the interpreter executes without looking at their MIR. Intrinsics/functions supported here are shared by CTFE and miri.

Re-exportsยง

use std::assert_matches; ๐Ÿ”’
use rustc_abi::FieldIdx; ๐Ÿ”’
use rustc_abi::HasDataLayout; ๐Ÿ”’
use rustc_abi::Size; ๐Ÿ”’
use rustc_abi::VariantIdx; ๐Ÿ”’
use rustc_apfloat::ieee::Double; ๐Ÿ”’
use rustc_apfloat::ieee::Half; ๐Ÿ”’
use rustc_apfloat::ieee::Quad; ๐Ÿ”’
use rustc_apfloat::ieee::Single; ๐Ÿ”’
use rustc_ast::IntTy; ๐Ÿ”’
use rustc_ast::UintTy; ๐Ÿ”’
use rustc_middle::mir::interpret::CTFE_ALLOC_SALT; ๐Ÿ”’
use rustc_middle::mir::interpret::read_target_uint; ๐Ÿ”’
use rustc_middle::mir::interpret::write_target_uint; ๐Ÿ”’
use rustc_middle::mir; ๐Ÿ”’
use rustc_middle::mir::BinOp; ๐Ÿ”’
use rustc_middle::mir::ConstValue; ๐Ÿ”’
use rustc_middle::mir::NonDivergingIntrinsic; ๐Ÿ”’
use rustc_middle::ty::layout::TyAndLayout; ๐Ÿ”’
use rustc_middle::ty; ๐Ÿ”’
use rustc_middle::ty::FloatTy; ๐Ÿ”’
use rustc_middle::ty::ScalarInt; ๐Ÿ”’
use rustc_middle::ty::Ty; ๐Ÿ”’
use rustc_middle::ty::TyCtxt; ๐Ÿ”’
use rustc_middle::ty::TypeVisitableExt; ๐Ÿ”’
use rustc_span::Symbol; ๐Ÿ”’
use rustc_span::bug; ๐Ÿ”’
use rustc_span::kw; ๐Ÿ”’
use rustc_span::span_bug; ๐Ÿ”’
use rustc_span::sym; ๐Ÿ”’
use tracing::trace; ๐Ÿ”’
use super::memory::MemoryKind; ๐Ÿ”’
use super::util::ensure_monomorphic_enough; ๐Ÿ”’
use super::AllocId; ๐Ÿ”’
use super::AtomicRmwOp; ๐Ÿ”’
use super::CheckInAllocMsg; ๐Ÿ”’
use super::ImmTy; ๐Ÿ”’
use super::Immediate; ๐Ÿ”’
use super::InterpCx; ๐Ÿ”’
use super::InterpResult; ๐Ÿ”’
use super::Machine; ๐Ÿ”’
use super::OpTy; ๐Ÿ”’
use super::PlaceTy; ๐Ÿ”’
use super::Pointer; ๐Ÿ”’
use super::PointerArithmetic; ๐Ÿ”’
use super::Projectable; ๐Ÿ”’
use super::Provenance; ๐Ÿ”’
use super::Scalar; ๐Ÿ”’
use super::err_ub_format; ๐Ÿ”’
use super::err_unsup_format; ๐Ÿ”’
use super::interp_ok; ๐Ÿ”’
use super::throw_inval; ๐Ÿ”’
use super::throw_ub; ๐Ÿ”’
use super::throw_ub_format; ๐Ÿ”’
use crate::interpret::MPlaceTy; ๐Ÿ”’
use crate::interpret::Writeable; ๐Ÿ”’

Modulesยง

atomic ๐Ÿ”’
simd ๐Ÿ”’

Enumsยง

MinMax ๐Ÿ”’
MulAddType ๐Ÿ”’
VarArgCompatible
Whether two types T and U are compatible when a value of type T is passed as a c-variadic argument and read as a value of type U.

Functionsยง

alloc_type_name ๐Ÿ”’
Directly returns an Allocation containing an absolute path representation of the given type.