pub struct InlineMacroExprPluginLongId(pub Arc<dyn InlineMacroExprPlugin>);
Expand description
An ID allowing for interning the InlineMacroExprPlugin
into Salsa database.
Tuple Fields§
§0: Arc<dyn InlineMacroExprPlugin>
Trait Implementations§
Source§impl Clone for InlineMacroExprPluginLongId
impl Clone for InlineMacroExprPluginLongId
Source§fn clone(&self) -> InlineMacroExprPluginLongId
fn clone(&self) -> InlineMacroExprPluginLongId
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for InlineMacroExprPluginLongId
impl Debug for InlineMacroExprPluginLongId
Source§impl Hash for InlineMacroExprPluginLongId
impl Hash for InlineMacroExprPluginLongId
Source§impl InlineMacroExprPlugin for InlineMacroExprPluginLongId
impl InlineMacroExprPlugin for InlineMacroExprPluginLongId
Source§fn generate_code(
&self,
db: &dyn SyntaxGroup,
item_ast: &ExprInlineMacro,
metadata: &MacroPluginMetadata<'_>,
) -> InlinePluginResult
fn generate_code( &self, db: &dyn SyntaxGroup, item_ast: &ExprInlineMacro, metadata: &MacroPluginMetadata<'_>, ) -> InlinePluginResult
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 documentation(&self) -> Option<String>
fn documentation(&self) -> Option<String>
Allows for the plugin to provide documentation for an inline macro.
Source§fn plugin_type_id(&self) -> TypeId
fn plugin_type_id(&self) -> TypeId
A
TypeId
of the plugin, used to compare the concrete types
of plugins given as trait objects.Source§impl<'a> Intern<'a, dyn DefsGroup + 'a, InlineMacroExprPluginId> for InlineMacroExprPluginLongId
impl<'a> Intern<'a, dyn DefsGroup + 'a, InlineMacroExprPluginId> for InlineMacroExprPluginLongId
Source§impl<'a> LookupIntern<'a, dyn DefsGroup + 'a, InlineMacroExprPluginLongId> for InlineMacroExprPluginId
impl<'a> LookupIntern<'a, dyn DefsGroup + 'a, InlineMacroExprPluginLongId> for InlineMacroExprPluginId
fn lookup_intern( &self, db: &(impl Upcast<dyn DefsGroup + 'a> + ?Sized), ) -> InlineMacroExprPluginLongId
impl Eq for InlineMacroExprPluginLongId
Auto Trait Implementations§
impl Freeze for InlineMacroExprPluginLongId
impl !RefUnwindSafe for InlineMacroExprPluginLongId
impl Send for InlineMacroExprPluginLongId
impl Sync for InlineMacroExprPluginLongId
impl Unpin for InlineMacroExprPluginLongId
impl !UnwindSafe for InlineMacroExprPluginLongId
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.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