mirror of
https://github.com/rust-lang/rust.git
synced 2025-12-03 05:38:28 +00:00
22 lines
659 B
Rust
22 lines
659 B
Rust
//! A set of traits that define a stable interface to rustc's internals.
|
|
//!
|
|
//! These traits abstract rustc's internal APIs, allowing rustc_public to maintain a stable
|
|
//! interface regardless of internal compiler changes.
|
|
|
|
use rustc_middle::mir::interpret::AllocRange;
|
|
use rustc_middle::ty;
|
|
use rustc_middle::ty::Ty;
|
|
use rustc_span::def_id::DefId;
|
|
|
|
pub trait TyHelpers<'tcx> {
|
|
fn new_foreign(&self, def_id: DefId) -> Ty<'tcx>;
|
|
}
|
|
|
|
pub trait TypingEnvHelpers<'tcx> {
|
|
fn fully_monomorphized(&self) -> ty::TypingEnv<'tcx>;
|
|
}
|
|
|
|
pub trait AllocRangeHelpers<'tcx> {
|
|
fn alloc_range(&self, offset: rustc_abi::Size, size: rustc_abi::Size) -> AllocRange;
|
|
}
|