Stage

Trait Stage 

Source
pub trait Stage:
    Sized
    + 'static
    + Sealed {
    type Id: Copy;

    // Required methods
    fn parsers() -> &'static LazyLock<GroupTypeInner<Self>>;
    fn emit_err<'sess>(
        &self,
        sess: &'sess Session,
        diag: impl for<'x> Diagnostic<'x>,
    ) -> ErrorGuaranteed;
    fn should_emit(&self) -> ShouldEmit;
    fn id_is_crate_root(id: Self::Id) -> bool;
}

Required Associated Types§

Required Methods§

Source

fn parsers() -> &'static LazyLock<GroupTypeInner<Self>>

Source

fn emit_err<'sess>( &self, sess: &'sess Session, diag: impl for<'x> Diagnostic<'x>, ) -> ErrorGuaranteed

Source

fn should_emit(&self) -> ShouldEmit

Source

fn id_is_crate_root(id: Self::Id) -> bool

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Stage for Early

Source§

impl Stage for Late

Source§

type Id = HirId