#[non_exhaustive]pub enum CompilerStage {
Parsing,
Lowering,
Analysis,
}Expand description
Compiler stage.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Parsing
Source code parsing.
Includes lexing, parsing to ASTs, import resolution which recursively parses imported files.
Lowering
ASTs lowering to HIR.
Includes lowering all ASTs to a single HIR, inheritance resolution, name resolution, basic type checking.
Analysis
Analysis.
Includes type checking, computing ABI, static analysis.
Implementations§
Source§impl CompilerStage
impl CompilerStage
Sourcepub const fn is_parsing(&self) -> bool
pub const fn is_parsing(&self) -> bool
Returns true if the enum is CompilerStage::Parsing otherwise false
Sourcepub const fn is_lowering(&self) -> bool
pub const fn is_lowering(&self) -> bool
Returns true if the enum is CompilerStage::Lowering otherwise false
Sourcepub const fn is_analysis(&self) -> bool
pub const fn is_analysis(&self) -> bool
Returns true if the enum is CompilerStage::Analysis otherwise false
Source§impl CompilerStage
impl CompilerStage
Source§impl CompilerStage
impl CompilerStage
Trait Implementations§
Source§impl Clone for CompilerStage
impl Clone for CompilerStage
Source§fn clone(&self) -> CompilerStage
fn clone(&self) -> CompilerStage
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CompilerStage
impl Debug for CompilerStage
Source§impl Display for CompilerStage
impl Display for CompilerStage
Source§impl<'_derivative_strum> From<&'_derivative_strum CompilerStage> for &'static str
impl<'_derivative_strum> From<&'_derivative_strum CompilerStage> for &'static str
Source§fn from(x: &'_derivative_strum CompilerStage) -> &'static str
fn from(x: &'_derivative_strum CompilerStage) -> &'static str
Converts to this type from the input type.
Source§impl From<CompilerStage> for &'static str
impl From<CompilerStage> for &'static str
Source§fn from(x: CompilerStage) -> &'static str
fn from(x: CompilerStage) -> &'static str
Converts to this type from the input type.
Source§impl FromStr for CompilerStage
impl FromStr for CompilerStage
Source§impl Hash for CompilerStage
impl Hash for CompilerStage
Source§impl IntoEnumIterator for CompilerStage
impl IntoEnumIterator for CompilerStage
type Iterator = CompilerStageIter
fn iter() -> CompilerStageIter ⓘ
Source§impl Ord for CompilerStage
impl Ord for CompilerStage
Source§fn cmp(&self, other: &CompilerStage) -> Ordering
fn cmp(&self, other: &CompilerStage) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for CompilerStage
impl PartialEq for CompilerStage
Source§impl PartialOrd for CompilerStage
impl PartialOrd for CompilerStage
Source§impl TryFrom<&str> for CompilerStage
impl TryFrom<&str> for CompilerStage
Source§impl VariantNames for CompilerStage
impl VariantNames for CompilerStage
impl Copy for CompilerStage
impl Eq for CompilerStage
impl StructuralPartialEq for CompilerStage
Auto Trait Implementations§
impl Freeze for CompilerStage
impl RefUnwindSafe for CompilerStage
impl Send for CompilerStage
impl Sync for CompilerStage
impl Unpin for CompilerStage
impl UnwindSafe for CompilerStage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more