pub struct ImplId(/* private fields */);
Implementations§
Source§impl ImplId
impl ImplId
pub fn data(&self, db: &dyn AnalyzerDb) -> Rc<Impl>
pub fn span(&self, db: &dyn AnalyzerDb) -> Span
pub fn module(&self, db: &dyn AnalyzerDb) -> ModuleId
pub fn all_functions(&self, db: &dyn AnalyzerDb) -> Rc<[FunctionId]>
pub fn trait_id(&self, db: &dyn AnalyzerDb) -> TraitId
pub fn receiver(&self, db: &dyn AnalyzerDb) -> TypeId
Sourcepub fn is_receiver_type(&self, other: TypeId, db: &dyn AnalyzerDb) -> bool
pub fn is_receiver_type(&self, other: TypeId, db: &dyn AnalyzerDb) -> bool
Returns true
if other
either is Self
or the type of the receiver
Sourcepub fn can_stand_in_for(
&self,
db: &dyn AnalyzerDb,
type_in_impl: TypeId,
type_in_trait: TypeId,
) -> bool
pub fn can_stand_in_for( &self, db: &dyn AnalyzerDb, type_in_impl: TypeId, type_in_trait: TypeId, ) -> bool
Returns true
if the type_in_impl
can stand in for the type_in_trait
as a type used
for a parameter or as a return type
pub fn ast(&self, db: &dyn AnalyzerDb) -> Node<Impl>
pub fn functions( &self, db: &dyn AnalyzerDb, ) -> Rc<IndexMap<SmolStr, FunctionId>>
pub fn function(&self, db: &dyn AnalyzerDb, name: &str) -> Option<FunctionId>
pub fn parent(&self, db: &dyn AnalyzerDb) -> Item
pub fn name(&self, db: &dyn AnalyzerDb) -> SmolStr
pub fn sink_diagnostics( &self, db: &dyn AnalyzerDb, sink: &mut impl DiagnosticSink, )
Trait Implementations§
Source§impl InternKey for ImplId
impl InternKey for ImplId
Source§fn from_intern_id(v: InternId) -> Self
fn from_intern_id(v: InternId) -> Self
Create an instance of the intern-key from a
u32
value.Source§fn as_intern_id(&self) -> InternId
fn as_intern_id(&self) -> InternId
Extract the
u32
with which the intern-key was created.Source§impl Ord for ImplId
impl Ord for ImplId
Source§impl PartialOrd for ImplId
impl PartialOrd for ImplId
impl Copy for ImplId
impl Eq for ImplId
impl StructuralPartialEq for ImplId
Auto Trait Implementations§
impl Freeze for ImplId
impl RefUnwindSafe for ImplId
impl Send for ImplId
impl Sync for ImplId
impl Unpin for ImplId
impl UnwindSafe for ImplId
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<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
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.§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.