pub struct GeneratedImplLongId {
pub concrete_trait: ConcreteTraitId,
pub generic_args: Vec<GenericArgumentId>,
pub impl_items: GeneratedImplItems,
}
Expand description
An impl that is generated by the compiler for a specific trait. There can be only one such impl per concrete trait as otherwise there would be a MultipleImplsFound ambiguity.
Fields§
§concrete_trait: ConcreteTraitId
§generic_args: Vec<GenericArgumentId>
The generic arguments used by the generated impl, typically impls and negative impls.
impl_items: GeneratedImplItems
Trait Implementations§
Source§impl Clone for GeneratedImplLongId
impl Clone for GeneratedImplLongId
Source§fn clone(&self) -> GeneratedImplLongId
fn clone(&self) -> GeneratedImplLongId
Returns a copy 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 GeneratedImplLongId
impl Debug for GeneratedImplLongId
Source§impl DebugWithDb<dyn SemanticGroup> for GeneratedImplLongId
impl DebugWithDb<dyn SemanticGroup> for GeneratedImplLongId
Source§impl Hash for GeneratedImplLongId
impl Hash for GeneratedImplLongId
Source§impl<'a> Intern<'a, dyn SemanticGroup + 'a, GeneratedImplId> for GeneratedImplLongId
impl<'a> Intern<'a, dyn SemanticGroup + 'a, GeneratedImplId> for GeneratedImplLongId
fn intern( self, db: &(impl Upcast<dyn SemanticGroup + 'a> + ?Sized), ) -> GeneratedImplId
Source§impl<'a> LookupIntern<'a, dyn SemanticGroup + 'a, GeneratedImplLongId> for GeneratedImplId
impl<'a> LookupIntern<'a, dyn SemanticGroup + 'a, GeneratedImplLongId> for GeneratedImplId
fn lookup_intern( &self, db: &(impl Upcast<dyn SemanticGroup + 'a> + ?Sized), ) -> GeneratedImplLongId
Source§impl PartialEq for GeneratedImplLongId
impl PartialEq for GeneratedImplLongId
Source§impl<T: SemanticRewriter<ConcreteTraitId, Error> + SemanticRewriter<Vec<GenericArgumentId>, Error> + SemanticRewriter<GeneratedImplItems, Error>, Error> SemanticObject<T, Error> for GeneratedImplLongId
impl<T: SemanticRewriter<ConcreteTraitId, Error> + SemanticRewriter<Vec<GenericArgumentId>, Error> + SemanticRewriter<GeneratedImplItems, Error>, Error> SemanticObject<T, Error> for GeneratedImplLongId
fn default_rewrite(&mut self, rewriter: &mut T) -> Result<RewriteResult, Error>
Source§impl<'a> SemanticRewriter<GeneratedImplLongId, DiagnosticAdded> for SubstitutionRewriter<'a>
impl<'a> SemanticRewriter<GeneratedImplLongId, DiagnosticAdded> for SubstitutionRewriter<'a>
fn internal_rewrite( &mut self, value: &mut GeneratedImplLongId, ) -> Result<RewriteResult, DiagnosticAdded>
fn rewrite(&mut self, value: T) -> Result<T, Error>
Source§impl<'a> SemanticRewriter<GeneratedImplLongId, NoError> for Inference<'a>
impl<'a> SemanticRewriter<GeneratedImplLongId, NoError> for Inference<'a>
fn internal_rewrite( &mut self, value: &mut GeneratedImplLongId, ) -> Result<RewriteResult, NoError>
fn rewrite(&mut self, value: T) -> Result<T, Error>
impl Eq for GeneratedImplLongId
impl StructuralPartialEq for GeneratedImplLongId
Auto Trait Implementations§
impl Freeze for GeneratedImplLongId
impl RefUnwindSafe for GeneratedImplLongId
impl Send for GeneratedImplLongId
impl Sync for GeneratedImplLongId
impl Unpin for GeneratedImplLongId
impl UnwindSafe for GeneratedImplLongId
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<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.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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