Skip to main content Module operand Copy item path Source use std::fmt ; π use itertools::Either ; π use rustc_abi as abi; π use rustc_abi as abi; π use rustc_abi::Align ; π use rustc_abi::BackendRepr ; π use rustc_abi::FIRST_VARIANT ; π use rustc_abi::FieldIdx ; π use rustc_abi::Primitive ; π use rustc_abi::Size ; π use rustc_abi::TagEncoding ; π use rustc_abi::VariantIdx ; π use rustc_abi::Variants ; π use rustc_attr_ir::lang_items::LangItem ; π use rustc_middle::mir::interpret::Pointer ; π use rustc_middle::mir::interpret::Scalar ; π use rustc_middle::mir::interpret::alloc_range ; π use rustc_middle::mir ; π use rustc_middle::mir::ConstValue ; π use rustc_middle::ty::layout::LayoutOf ; π use rustc_middle::ty::layout::TyAndLayout ; π use rustc_middle::ty ; π use rustc_middle::ty::Ty ; π use rustc_session::config::AnnotateMoves ; π use rustc_session::config::DebugInfo ; π use rustc_session::config::OptLevel ; π use rustc_span::bug ; π use rustc_span::span_bug ; π use tracing::debug ; π use tracing::instrument ; π use tracing::instrument ; π use super::place::PlaceRef ; π use super::place::PlaceValue ; π use super::rvalue::transmute_scalar ; π use super::FunctionCx ; π use super::LocalRef ; π use crate::MemFlags ; π use crate::common::IntPredicate ; π use crate::traits ::*; π OperandRef An OperandRef is an βSSAβ reference to a Rust value, along with
its type. OperandRefBuilder π Allows building up an OperandRef by setting fields one at a time. OperandValue The representation of a Rust value. The enum variant is in fact
uniquely determined by the valueβs type, but is kept as a
safety check. OperandValueBuilder π Each of these variants starts out as Either::Right when itβs uninitialized,
then setting the field changes that to Either::Left with the backend value. MOVE_ANNOTATION_DEFAULT_LIMIT π Default size limit for move/copy annotations (in bytes). 64 bytes is a common size of a cache
line, and the assumption is that anything this size or below is very cheap to move/copy, so only
annotate copies larger than this.