#[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
impl Debug for ConfigPlugin
source§impl Default for ConfigPlugin
impl Default for ConfigPlugin
source§fn default() -> ConfigPlugin
fn default() -> ConfigPlugin
Returns the “default value” for a type. Read more
source§impl MacroPlugin for ConfigPlugin
impl MacroPlugin for ConfigPlugin
source§fn generate_code(
&self,
db: &dyn SyntaxGroup,
item_ast: ModuleItem,
metadata: &MacroPluginMetadata<'_>,
) -> PluginResult
fn generate_code( &self, db: &dyn SyntaxGroup, item_ast: ModuleItem, metadata: &MacroPluginMetadata<'_>, ) -> PluginResult
Generates code for an item. If no code should be generated returns None.
Otherwise, returns (virtual_module_name, module_content), and a virtual submodule
with that name and content should be created.
source§fn declared_attributes(&self) -> Vec<String>
fn declared_attributes(&self) -> Vec<String>
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(&self) -> Vec<String>
fn declared_derives(&self) -> Vec<String>
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(&self) -> Vec<String>
fn executable_attributes(&self) -> Vec<String>
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(&self) -> Vec<String>
fn phantom_type_attributes(&self) -> Vec<String>
Attributes that mark a type as a phantom type. Must return a subset of
declared_attributes
.
This mechanism is optional.Auto Trait Implementations§
impl Freeze for ConfigPlugin
impl RefUnwindSafe for ConfigPlugin
impl Send for ConfigPlugin
impl Sync for ConfigPlugin
impl Unpin for ConfigPlugin
impl UnwindSafe for ConfigPlugin
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
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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