Struct ra_ap_hir_expand::name::Name
source · [−]pub struct Name(_);
Expand description
Name
is a wrapper around string, which is used in hir for both references
and declarations. In theory, names should also carry hygiene info, but we are
not there yet!
Implementations
sourceimpl Name
impl Name
pub fn new_tuple_field(idx: usize) -> Name
pub fn new_lifetime(lt: &Lifetime) -> Name
sourcepub const fn missing() -> Name
pub const fn missing() -> Name
A fake name for things missing in the source code.
For example, impl Foo for {}
should be treated as a trait impl for a
type with a missing name. Similarly, struct S { : u32 }
should have a
single field with a missing name.
Ideally, we want a gensym
semantics for missing names – each missing
name is equal only to itself. It’s not clear how to implement this in
salsa though, so we punt on that bit for a moment.
sourcepub fn as_tuple_index(&self) -> Option<usize>
pub fn as_tuple_index(&self) -> Option<usize>
Returns the tuple index this name represents if it is a tuple field.
sourcepub fn as_text(&self) -> Option<SmolStr>
pub fn as_text(&self) -> Option<SmolStr>
Returns the text this name represents if it isn’t a tuple field.
sourcepub fn to_smol_str(&self) -> SmolStr
pub fn to_smol_str(&self) -> SmolStr
Returns the textual representation of this name as a [SmolStr
].
Prefer using this over ToString::to_string
if possible as this conversion is cheaper in
the general case.
Trait Implementations
sourceimpl Ord for Name
impl Ord for Name
sourceimpl PartialOrd<Name> for Name
impl PartialOrd<Name> for Name
sourcefn partial_cmp(&self, other: &Name) -> Option<Ordering>
fn partial_cmp(&self, other: &Name) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Eq for Name
impl StructuralEq for Name
impl StructuralPartialEq for Name
Auto Trait Implementations
impl RefUnwindSafe for Name
impl Send for Name
impl Sync for Name
impl Unpin for Name
impl UnwindSafe for Name
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
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
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more