[][src]Struct rustc_plugin::registry::Registry

pub struct Registry<'a> {
    pub sess: &'a Session,
    // some fields omitted
}
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Structure used to register plugins.

A plugin registrar function takes an &mut Registry and should call methods to register its plugins.

This struct has public fields and other methods for use by rustc itself. They are not documented here, and plugin authors should not use them.

Fields

sess: &'a Session
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Compiler session. Useful if you want to emit diagnostic messages from the plugin registrar.

Methods

impl<'a> Registry<'a>[src]

pub fn args(&self) -> &[NestedMetaItem][src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Gets the plugin's arguments, if any.

These are specified inside the plugin crate attribute as

#![plugin(my_plugin_name(... args ...))]

Returns empty slice in case the plugin was loaded with --extra-plugins

pub fn register_syntax_extension(
    &mut self,
    name: Symbol,
    extension: SyntaxExtension
)
[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Register a syntax extension of any kind.

This is the most general hook into libsyntax's expansion behavior.

pub fn register_macro(
    &mut self,
    name: &str,
    expander: fn(&'cx mut ExtCtxt, Span, TokenStream) -> Box<dyn MacResult + 'cx>
)
[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Register a macro of the usual kind.

This is a convenience wrapper for register_syntax_extension. It builds for you a SyntaxExtensionKind::LegacyBang that calls expander, and also takes care of interning the macro's name.

pub fn register_early_lint_pass(
    &mut self,
    lint_pass: Box<dyn EarlyLintPass + 'static + Send + Sync>
)
[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Register a compiler lint pass.

pub fn register_late_lint_pass(
    &mut self,
    lint_pass: Box<dyn LateLintPass<'a, 'tcx> + 'static + Send + Sync>
)
[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Register a compiler lint pass.

pub fn register_lint_group(
    &mut self,
    name: &'static str,
    deprecated_name: Option<&'static str>,
    to: Vec<&'static Lint>
)
[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Register a lint group.

pub fn register_llvm_pass(&mut self, name: &str)[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Register an LLVM pass.

Registration with LLVM itself is handled through static C++ objects with constructors. This method simply adds a name to the list of passes to execute.

pub fn register_attribute(&mut self, name: Symbol, ty: AttributeType)[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Register an attribute with an attribute type.

Registered attributes will bypass the custom_attribute feature gate. Whitelisted attributes will additionally not trigger the unused_attribute lint. CrateLevel attributes will not be allowed on anything other than a crate.

Auto Trait Implementations

impl<'a> !Send for Registry<'a>

impl<'a> Unpin for Registry<'a>

impl<'a> !Sync for Registry<'a>

impl<'a> !UnwindSafe for Registry<'a>

impl<'a> !RefUnwindSafe for Registry<'a>

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Erased for T[src]

impl<E> SpecializationError for E[src]

impl<T> MaybeResult<T> for T[src]

type Error = !

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

impl<'a, T> Captures<'a> for T where
    T: ?Sized
[src]