Enum ra_ap_hir::TypeRef [−][src]
pub enum TypeRef {}Show variants
Never, Placeholder, Tuple(Vec<TypeRef, Global>), Path(Path), RawPtr(Box<TypeRef, Global>, Mutability), Reference(Box<TypeRef, Global>, Option<LifetimeRef>, Mutability), Array(Box<TypeRef, Global>, ConstScalar), Slice(Box<TypeRef, Global>), Fn(Vec<TypeRef, Global>, bool), ImplTrait(Vec<Interned<TypeBound>, Global>), DynTrait(Vec<Interned<TypeBound>, Global>), Macro(InFile<FileAstId<MacroCall>>), Error,
Expand description
Compare ty::Ty
Note: Most users of TypeRef
that end up in the salsa database intern it using
Interned<TypeRef>
to save space. But notably, nested TypeRef
s are not interned, since that
does not seem to save any noticeable amount of memory.
Variants
Path(Path)
RawPtr(Box<TypeRef, Global>, Mutability)
Reference(Box<TypeRef, Global>, Option<LifetimeRef>, Mutability)
Array(Box<TypeRef, Global>, ConstScalar)
A fn pointer. Last element of the vector is the return type.
Implementations
Trait Implementations
impl HirDisplay for TypeRef
[src]
impl HirDisplay for TypeRef
[src]pub fn hir_fmt(&self, f: &mut HirFormatter<'_>) -> Result<(), HirDisplayError>
[src]
fn into_displayable(
&'a self,
db: &'a (dyn HirDatabase + 'a),
max_size: Option<usize>,
omit_verbose_types: bool,
display_target: DisplayTarget
) -> HirDisplayWrapper<'a, Self>
[src]
fn into_displayable(
&'a self,
db: &'a (dyn HirDatabase + 'a),
max_size: Option<usize>,
omit_verbose_types: bool,
display_target: DisplayTarget
) -> HirDisplayWrapper<'a, Self>
[src]Returns a Display
able type that is human-readable.
fn display(
&'a self,
db: &'a (dyn HirDatabase + 'a)
) -> HirDisplayWrapper<'a, Self>
[src]
fn display(
&'a self,
db: &'a (dyn HirDatabase + 'a)
) -> HirDisplayWrapper<'a, Self>
[src]Returns a Display
able type that is human-readable.
Use this for showing types to the user (e.g. diagnostics) Read more
fn display_truncated(
&'a self,
db: &'a (dyn HirDatabase + 'a),
max_size: Option<usize>
) -> HirDisplayWrapper<'a, Self>
[src]
fn display_truncated(
&'a self,
db: &'a (dyn HirDatabase + 'a),
max_size: Option<usize>
) -> HirDisplayWrapper<'a, Self>
[src]Returns a Display
able type that is human-readable and tries to be succinct.
Use this for showing types to the user where space is constrained (e.g. doc popups) Read more
fn display_source_code(
&'a self,
db: &'a (dyn HirDatabase + 'a),
module_id: ModuleId
) -> Result<String, DisplaySourceCodeError>
[src]
fn display_source_code(
&'a self,
db: &'a (dyn HirDatabase + 'a),
module_id: ModuleId
) -> Result<String, DisplaySourceCodeError>
[src]Returns a String representation of self
that can be inserted into the given module.
Use this when generating code (e.g. assists) Read more
fn display_test(
&'a self,
db: &'a (dyn HirDatabase + 'a)
) -> HirDisplayWrapper<'a, Self>
[src]
fn display_test(
&'a self,
db: &'a (dyn HirDatabase + 'a)
) -> HirDisplayWrapper<'a, Self>
[src]Returns a String representation of self
for test purposes
impl Internable for TypeRef
[src]
impl Internable for TypeRef
[src]pub fn storage() -> &'static InternStorage<TypeRef>
[src]
impl Eq for TypeRef
[src]
impl StructuralEq for TypeRef
[src]
impl StructuralPartialEq for TypeRef
[src]
Auto Trait Implementations
impl RefUnwindSafe for TypeRef
impl Send for TypeRef
impl Sync for TypeRef
impl Unpin for TypeRef
impl UnwindSafe for TypeRef
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,