Struct ra_ap_hir::MacroDef [−][src]
pub struct MacroDef { /* fields omitted */ }
Implementations
impl MacroDef
[src]
impl MacroDef
[src]pub fn module(self, db: &dyn HirDatabase) -> Option<Module>
[src]
pub fn module(self, db: &dyn HirDatabase) -> Option<Module>
[src]FIXME: right now, this just returns the root module of the crate that
defines this macro. The reasons for this is that macros are expanded
early, in hir_expand
, where modules simply do not exist yet.
pub fn name(self, db: &dyn HirDatabase) -> Option<Name>
[src]
pub fn name(self, db: &dyn HirDatabase) -> Option<Name>
[src]XXX: this parses the file
pub fn kind(&self) -> MacroKind
[src]
Trait Implementations
impl From<MacroDef> for MacroDefId
[src]
impl From<MacroDef> for MacroDefId
[src]fn from(ty: MacroDef) -> MacroDefId
[src]
fn from(ty: MacroDef) -> MacroDefId
[src]Performs the conversion.
impl From<MacroDefId> for MacroDef
[src]
impl From<MacroDefId> for MacroDef
[src]fn from(id: MacroDefId) -> MacroDef
[src]
fn from(id: MacroDefId) -> MacroDef
[src]Performs the conversion.
impl HasAttrs for MacroDef
[src]
impl HasAttrs for MacroDef
[src]fn attrs(self, db: &dyn HirDatabase) -> AttrsWithOwner
[src]
fn docs(self, db: &dyn HirDatabase) -> Option<Documentation>
[src]
fn resolve_doc_path(
self,
db: &dyn HirDatabase,
link: &str,
ns: Option<Namespace>
) -> Option<ModuleDef>
[src]
self,
db: &dyn HirDatabase,
link: &str,
ns: Option<Namespace>
) -> Option<ModuleDef>
impl Copy for MacroDef
[src]
impl Eq for MacroDef
[src]
impl StructuralEq for MacroDef
[src]
impl StructuralPartialEq for MacroDef
[src]
Auto Trait Implementations
impl RefUnwindSafe for MacroDef
impl Send for MacroDef
impl Sync for MacroDef
impl Unpin for MacroDef
impl UnwindSafe for MacroDef
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Cast for T
impl<T> Cast for T
fn cast<U>(self, interner: &<U as HasInterner>::Interner) -> U where
Self: CastTo<U>,
U: HasInterner,
fn cast<U>(self, interner: &<U as HasInterner>::Interner) -> U where
Self: CastTo<U>,
U: HasInterner,
Cast a value to type U
using CastTo
.
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]pub fn equivalent(&self, key: &K) -> bool
[src]
pub fn equivalent(&self, key: &K) -> bool
[src]Compare self to key
and return true
if they are equal.
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> Any for T where
T: Any,
T: Any,
impl<T> CloneAny for T where
T: Any + Clone,
T: Any + Clone,