ConfigPlugin

Struct ConfigPlugin 

Source
#[non_exhaustive]
pub struct ConfigPlugin;
Expand description

Plugin that enables ignoring modules not involved in the current config.

Mostly useful for marking test modules to prevent usage of their functionality out of tests, and reduce compilation time when the tests data isn’t required.

Trait Implementations§

Source§

impl Debug for ConfigPlugin

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ConfigPlugin

Source§

fn default() -> ConfigPlugin

Returns the “default value” for a type. Read more
Source§

impl MacroPlugin for ConfigPlugin

Source§

fn generate_code<'db>( &self, db: &'db dyn Database, item_ast: ModuleItem<'db>, metadata: &MacroPluginMetadata<'_>, ) -> PluginResult<'db>

Generates code for an item. If no code should be generated returns None. Otherwise, returns PluginResult with the generated virtual submodule.
Source§

fn declared_attributes<'db>(&self, db: &'db dyn Database) -> Vec<SmolStrId<'db>>

Attributes this plugin uses. Attributes the plugin uses without declaring here are likely to cause a compilation error for unknown attribute. Note: They may not cause a diagnostic if some other plugin declares such attribute, but plugin writers should not rely on that.
Source§

fn declared_derives<'db>( &self, _db: &'db (dyn Database + 'static), ) -> Vec<SmolStrId<'db>>

Derives this plugin supplies. Any derived classes the plugin supplies without declaring here are likely to cause a compilation error for unknown derive. Note: They may not cause a diagnostic if some other plugin declares such derive, but plugin writers should not rely on that.
Source§

fn executable_attributes<'db>( &self, _db: &'db (dyn Database + 'static), ) -> Vec<SmolStrId<'db>>

Attributes that should mark the function as an executable. Functions marked with executable attributes will be listed in a dedicated field in the generated program. Must return a subset of declared_attributes. This mechanism is optional.
Source§

fn phantom_type_attributes<'db>( &self, _db: &'db (dyn Database + 'static), ) -> Vec<SmolStrId<'db>>

Attributes that mark a type as a phantom type. Must return a subset of declared_attributes. This mechanism is optional.
Source§

fn plugin_type_id(&self) -> TypeId

A TypeId of the plugin, used to compare the concrete types of plugins given as trait objects.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<'db, T> DebugDbUpcast<'db, T> for T
where T: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more