pub struct TypeOrConstParam { /* private fields */ }Implementations§
Source§impl TypeOrConstParam
impl TypeOrConstParam
pub fn name(self, db: &dyn HirDatabase) -> Name
pub fn module(self, db: &dyn HirDatabase) -> Module
pub fn parent(self, _db: &dyn HirDatabase) -> GenericDef
pub fn split(self, db: &dyn HirDatabase) -> Either<ConstParam, TypeParam>
pub fn ty(self, db: &dyn HirDatabase) -> Type<'_>
pub fn as_type_param(self, db: &dyn HirDatabase) -> Option<TypeParam>
pub fn as_const_param(self, db: &dyn HirDatabase) -> Option<ConstParam>
Trait Implementations§
Source§impl Clone for TypeOrConstParam
impl Clone for TypeOrConstParam
Source§fn clone(&self) -> TypeOrConstParam
fn clone(&self) -> TypeOrConstParam
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 TypeOrConstParam
impl Debug for TypeOrConstParam
Source§impl From<TypeOrConstParam> for TypeOrConstParamId
impl From<TypeOrConstParam> for TypeOrConstParamId
Source§fn from(ty: TypeOrConstParam) -> TypeOrConstParamId
fn from(ty: TypeOrConstParam) -> TypeOrConstParamId
Converts to this type from the input type.
Source§impl From<TypeOrConstParamId> for TypeOrConstParam
impl From<TypeOrConstParamId> for TypeOrConstParam
Source§fn from(id: TypeOrConstParamId) -> TypeOrConstParam
fn from(id: TypeOrConstParamId) -> TypeOrConstParam
Converts to this type from the input type.
Source§impl HasSource for TypeOrConstParam
impl HasSource for TypeOrConstParam
type Ast = Either<TypeOrConstParam, Trait>
Source§fn source(self, db: &dyn HirDatabase) -> Option<InFile<Self::Ast>>
fn source(self, db: &dyn HirDatabase) -> Option<InFile<Self::Ast>>
Fetches the definition’s source node.
Using
crate::SemanticsImpl::source is preferred when working with crate::Semantics,
as that caches the parsed file in the semantics’ cache. Read moreSource§impl Hash for TypeOrConstParam
impl Hash for TypeOrConstParam
Source§impl<'db> HirDisplay<'db> for TypeOrConstParam
impl<'db> HirDisplay<'db> for TypeOrConstParam
fn hir_fmt(&self, f: &mut HirFormatter<'_, 'db>) -> Result
§fn into_displayable<'a>(
&'a self,
db: &'db (dyn HirDatabase + 'static),
max_size: Option<usize>,
limited_size: Option<usize>,
omit_verbose_types: bool,
display_target: DisplayTarget,
display_kind: DisplayKind,
closure_style: ClosureStyle,
show_container_bounds: bool,
) -> HirDisplayWrapper<'a, 'db, Self>where
Self: Sized,
fn into_displayable<'a>(
&'a self,
db: &'db (dyn HirDatabase + 'static),
max_size: Option<usize>,
limited_size: Option<usize>,
omit_verbose_types: bool,
display_target: DisplayTarget,
display_kind: DisplayKind,
closure_style: ClosureStyle,
show_container_bounds: bool,
) -> HirDisplayWrapper<'a, 'db, Self>where
Self: Sized,
Returns a
Displayable type that is human-readable.§fn display<'a>(
&'a self,
db: &'db (dyn HirDatabase + 'static),
display_target: DisplayTarget,
) -> HirDisplayWrapper<'a, 'db, Self>where
Self: Sized,
fn display<'a>(
&'a self,
db: &'db (dyn HirDatabase + 'static),
display_target: DisplayTarget,
) -> HirDisplayWrapper<'a, 'db, Self>where
Self: Sized,
Returns a
Displayable type that is human-readable.
Use this for showing types to the user (e.g. diagnostics)§fn display_truncated<'a>(
&'a self,
db: &'db (dyn HirDatabase + 'static),
max_size: Option<usize>,
display_target: DisplayTarget,
) -> HirDisplayWrapper<'a, 'db, Self>where
Self: Sized,
fn display_truncated<'a>(
&'a self,
db: &'db (dyn HirDatabase + 'static),
max_size: Option<usize>,
display_target: DisplayTarget,
) -> HirDisplayWrapper<'a, 'db, Self>where
Self: Sized,
Returns a
Displayable 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)§fn display_limited<'a>(
&'a self,
db: &'db (dyn HirDatabase + 'static),
limited_size: Option<usize>,
display_target: DisplayTarget,
) -> HirDisplayWrapper<'a, 'db, Self>where
Self: Sized,
fn display_limited<'a>(
&'a self,
db: &'db (dyn HirDatabase + 'static),
limited_size: Option<usize>,
display_target: DisplayTarget,
) -> HirDisplayWrapper<'a, 'db, Self>where
Self: Sized,
Returns a
Displayable type that is human-readable and tries to limit the number of items inside.
Use this for showing definitions which may contain too many items, like trait, struct, enum§fn display_source_code<'a>(
&'a self,
db: &'db (dyn HirDatabase + 'static),
module_id: ModuleIdLt<'static>,
allow_opaque: bool,
) -> Result<String, DisplaySourceCodeError>
fn display_source_code<'a>( &'a self, db: &'db (dyn HirDatabase + 'static), module_id: ModuleIdLt<'static>, allow_opaque: bool, ) -> Result<String, DisplaySourceCodeError>
Returns a String representation of
self that can be inserted into the given module.
Use this when generating code (e.g. assists)§fn display_test<'a>(
&'a self,
db: &'db (dyn HirDatabase + 'static),
display_target: DisplayTarget,
) -> HirDisplayWrapper<'a, 'db, Self>where
Self: Sized,
fn display_test<'a>(
&'a self,
db: &'db (dyn HirDatabase + 'static),
display_target: DisplayTarget,
) -> HirDisplayWrapper<'a, 'db, Self>where
Self: Sized,
Returns a String representation of
self for test purposes§fn display_with_container_bounds<'a>(
&'a self,
db: &'db (dyn HirDatabase + 'static),
show_container_bounds: bool,
display_target: DisplayTarget,
) -> HirDisplayWrapper<'a, 'db, Self>where
Self: Sized,
fn display_with_container_bounds<'a>(
&'a self,
db: &'db (dyn HirDatabase + 'static),
show_container_bounds: bool,
display_target: DisplayTarget,
) -> HirDisplayWrapper<'a, 'db, Self>where
Self: Sized,
Returns a String representation of
self that shows the constraint from
the container for functionsSource§impl PartialEq for TypeOrConstParam
impl PartialEq for TypeOrConstParam
impl Copy for TypeOrConstParam
impl Eq for TypeOrConstParam
impl StructuralPartialEq for TypeOrConstParam
Auto Trait Implementations§
impl Freeze for TypeOrConstParam
impl RefUnwindSafe for TypeOrConstParam
impl Send for TypeOrConstParam
impl Sync for TypeOrConstParam
impl Unpin for TypeOrConstParam
impl UnwindSafe for TypeOrConstParam
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,
§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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