Crate stable_mir

Source
Expand description

The WIP stable interface to rustc internals.

For more information see https://github.com/rust-lang/project-stable-mir

§Note

This API is still completely unstable and subject to change.

This crate shall contain all type definitions and APIs that we expect third-party tools to invoke to interact with the compiler.

The goal is to eventually be published on crates.io.

Re-exports§

pub use crate::crate_def::CrateDef;
pub use crate::crate_def::CrateDefType;
pub use crate::crate_def::DefId;
pub use crate::error::*;

Modules§

abi
compiler_interface
Define the interface with the Rust compiler.
crate_def
Module that define a common trait for things that represent a crate definition, such as, a function, a trait, an enum, and any other definitions.
error
When things go wrong, we need some error handling. There are a few different types of errors in StableMIR:
mir
target
Provide information about the machine that this is being compiled into.
ty
visitor

Structs§

Crate
Holds information about a crate.
CrateItem
Holds information about an item in a crate.
Opaque
A type that provides internal information but that can still be used for debug purpose.

Enums§

CtorKind
ItemKind

Functions§

all_local_items
Retrieve all items in the local crate that have a MIR associated with them.
all_trait_decls
all_trait_impls
entry_fn
Return the function where execution starts if the current crate defines that. This is usually main, but could be start if the crate is a no-std crate.
external_crates
Try to find a crate with the given name.
find_crates
Try to find a crate or crates if multiple crates exist from given name.
local_crate
Access to the local crate.
opaque

Type Aliases§

CrateItems
A list of crate items.
CrateNum
The number that identifies a crate.
Filename
ImplTraitDecls
A list of impl trait decls.
Symbol
Use String for now but we should replace it.
TraitDecls
A list of trait decls.