Trait Stage

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

    // Required methods
    fn parsers(    ) -> &'static LazyLock<(BTreeMap<&'static [Symbol], Vec<(AttributeTemplate, Box<dyn for<'sess, 'a> Fn(&mut AcceptContext<'_, 'sess, Self>, &ArgParser<'a>) + Send + Sync>)>>, Vec<Box<dyn Send + Sync + Fn(&mut FinalizeContext<'_, '_, Self>) -> Option<AttributeKind>>>)>;
    fn emit_err<'sess>(
        sess: &'sess Session,
        diag: impl for<'x> Diagnostic<'x>,
    ) -> ErrorGuaranteed;
}

Required Associated Types§

Required Methods§

Source

fn parsers() -> &'static LazyLock<(BTreeMap<&'static [Symbol], Vec<(AttributeTemplate, Box<dyn for<'sess, 'a> Fn(&mut AcceptContext<'_, 'sess, Self>, &ArgParser<'a>) + Send + Sync>)>>, Vec<Box<dyn Send + Sync + Fn(&mut FinalizeContext<'_, '_, Self>) -> Option<AttributeKind>>>)>

Source

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

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§