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§
- Define the interface with the Rust compiler.
- 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.
- When things go wrong, we need some error handling. There are a few different types of errors in StableMIR:
- Provide information about the machine that this is being compiled into.
Structs§
- Holds information about a crate.
- Holds information about an item in a crate.
- A type that provides internal information but that can still be used for debug purpose.
Enums§
Functions§
- Retrieve all items in the local crate that have a MIR associated with them.
- Return the function where execution starts if the current crate defines that. This is usually
main
, but could bestart
if the crate is a no-std crate. - Try to find a crate with the given name.
- Try to find a crate or crates if multiple crates exist from given name.
- Access to the local crate.
Type Aliases§
- A list of crate items.
- The number that identifies a crate.
- A list of impl trait decls.
- Use String for now but we should replace it.
- A list of trait decls.