pub struct GeneratedImplLongId {
pub concrete_trait: ConcreteTraitId,
pub generic_params: Vec<GenericParam>,
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_params: Vec<GenericParam>The generic params required for the impl. Typically impls and negative impls. We save the params so that we can validate negative impls.
impl_items: GeneratedImplItemsTrait 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<GenericParam>, Error> + SemanticRewriter<GeneratedImplItems, Error>, Error> SemanticObject<T, Error> for GeneratedImplLongId
impl<T: SemanticRewriter<ConcreteTraitId, Error> + SemanticRewriter<Vec<GenericParam>, 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