Skip to main content

Module compiler_interface

Module compiler_interface 

Source
Expand description

Define the interface with the Rust compiler.

rustc_public users should not use any of the items in this module directly. These APIs have no stability guarantee.

Re-exportsยง

use std::cell::Cell; ๐Ÿ”’
use std::cell::RefCell; ๐Ÿ”’
use rustc_hir::def::DefKind; ๐Ÿ”’
use rustc_public_bridge::context::CompilerCtxt; ๐Ÿ”’
use rustc_public_bridge::Bridge; ๐Ÿ”’
use rustc_public_bridge::Tables; ๐Ÿ”’
use tracing::debug; ๐Ÿ”’
use crate::abi::FnAbi; ๐Ÿ”’
use crate::abi::Layout; ๐Ÿ”’
use crate::abi::LayoutShape; ๐Ÿ”’
use crate::abi::ReprOptions; ๐Ÿ”’
use crate::crate_def::Attribute; ๐Ÿ”’
use crate::mir::alloc::AllocId; ๐Ÿ”’
use crate::mir::alloc::GlobalAlloc; ๐Ÿ”’
use crate::mir::mono::Instance; ๐Ÿ”’
use crate::mir::mono::InstanceDef; ๐Ÿ”’
use crate::mir::mono::StaticDef; ๐Ÿ”’
use crate::mir::BinOp; ๐Ÿ”’
use crate::mir::Body; ๐Ÿ”’
use crate::mir::Place; ๐Ÿ”’
use crate::mir::UnOp; ๐Ÿ”’
use crate::target::MachineInfo; ๐Ÿ”’
use crate::target::MachineSize; ๐Ÿ”’
use crate::ty::AdtDef; ๐Ÿ”’
use crate::ty::AdtKind; ๐Ÿ”’
use crate::ty::Allocation; ๐Ÿ”’
use crate::ty::AssocItem; ๐Ÿ”’
use crate::ty::Asyncness; ๐Ÿ”’
use crate::ty::ClosureDef; ๐Ÿ”’
use crate::ty::ClosureKind; ๐Ÿ”’
use crate::ty::Constness; ๐Ÿ”’
use crate::ty::CoroutineDef; ๐Ÿ”’
use crate::ty::Discr; ๐Ÿ”’
use crate::ty::FieldDef; ๐Ÿ”’
use crate::ty::FloatTy; ๐Ÿ”’
use crate::ty::FnDef; ๐Ÿ”’
use crate::ty::ForeignDef; ๐Ÿ”’
use crate::ty::ForeignItemKind; ๐Ÿ”’
use crate::ty::ForeignModule; ๐Ÿ”’
use crate::ty::ForeignModuleDef; ๐Ÿ”’
use crate::ty::GenericArgs; ๐Ÿ”’
use crate::ty::GenericClauses; ๐Ÿ”’
use crate::ty::Generics; ๐Ÿ”’
use crate::ty::ImplDef; ๐Ÿ”’
use crate::ty::ImplTrait; ๐Ÿ”’
use crate::ty::IntrinsicDef; ๐Ÿ”’
use crate::ty::LineInfo; ๐Ÿ”’
use crate::ty::MirConst; ๐Ÿ”’
use crate::ty::PolyFnSig; ๐Ÿ”’
use crate::ty::RigidTy; ๐Ÿ”’
use crate::ty::Span; ๐Ÿ”’
use crate::ty::TraitDecl; ๐Ÿ”’
use crate::ty::TraitDef; ๐Ÿ”’
use crate::ty::TraitRef; ๐Ÿ”’
use crate::ty::Ty; ๐Ÿ”’
use crate::ty::TyConst; ๐Ÿ”’
use crate::ty::TyConstId; ๐Ÿ”’
use crate::ty::TyKind; ๐Ÿ”’
use crate::ty::UintTy; ๐Ÿ”’
use crate::ty::VariantDef; ๐Ÿ”’
use crate::ty::VariantIdx; ๐Ÿ”’
use crate::ty::VtblEntry; ๐Ÿ”’
use crate::unstable::new_item_kind; ๐Ÿ”’
use crate::AssocItems; ๐Ÿ”’
use crate::Crate; ๐Ÿ”’
use crate::CrateDef; ๐Ÿ”’
use crate::CrateItem; ๐Ÿ”’
use crate::CrateItems; ๐Ÿ”’
use crate::CrateNum; ๐Ÿ”’
use crate::DefId; ๐Ÿ”’
use crate::Error; ๐Ÿ”’
use crate::Filename; ๐Ÿ”’
use crate::ImplTraitDecls; ๐Ÿ”’
use crate::ItemKind; ๐Ÿ”’
use crate::Symbol; ๐Ÿ”’
use crate::ThreadLocalIndex; ๐Ÿ”’
use crate::ThreadLocalIndex; ๐Ÿ”’
use crate::TraitDecls; ๐Ÿ”’
use crate::alloc; ๐Ÿ”’
use crate::mir; ๐Ÿ”’

Structsยง

BridgeTys
CompilerInterface ๐Ÿ”’
Public API for querying compiler information.

Staticsยง

TLV ๐Ÿ”’

Functionsยง

run ๐Ÿ”’
smir_crate ๐Ÿ”’
with ๐Ÿ”’
Execute the given function with access the CompilerInterface.