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 duplicate 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<'db>(
&self,
db: &'db dyn Database,
item_ast: &ExprInlineMacro<'db>,
metadata: &MacroPluginMetadata<'_>,
) -> InlinePluginResult<'db>
fn generate_code<'db>( &self, db: &'db dyn Database, item_ast: &ExprInlineMacro<'db>, metadata: &MacroPluginMetadata<'_>, ) -> InlinePluginResult<'db>
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<'db> Intern<'db, InlineMacroExprPluginId<'db>> for InlineMacroExprPluginLongId
impl<'db> Intern<'db, InlineMacroExprPluginId<'db>> for InlineMacroExprPluginLongId
fn intern(self, db: &'db dyn Database) -> InlineMacroExprPluginId<'db>
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<'db, T> DebugDbUpcast<'db, T> for Twhere
T: ?Sized,
impl<'db, T> DebugDbUpcast<'db, T> for Twhere
T: ?Sized,
fn debug_db_upcast(&'db self) -> &'db T
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