trait AssocItemTag: Copy {
    type AssocItem<'tcx>;
    // Required methods
    fn descr(self) -> &'static str;
    fn trait_defines_item_named<'tcx>(
        self,
        genv: GlobalEnv<'_, 'tcx>,
        trait_def_id: DefId,
        assoc_name: Ident,
    ) -> QueryResult<Option<Self::AssocItem<'tcx>>>;
    fn transitive_bounds_that_define_assoc_item<'tcx>(
        self,
        genv: GlobalEnv<'_, 'tcx>,
        trait_refs: impl Iterator<Item = PolyTraitRef<'tcx>>,
        assoc_name: Ident,
    ) -> impl Iterator<Item = PolyTraitRef<'tcx>>;
}Expand description
This trait is used to define functions generically over both associated refinements and associated items (types, consts, and functions).
Required Associated Types§
Required Methods§
fn descr(self) -> &'static str
fn trait_defines_item_named<'tcx>( self, genv: GlobalEnv<'_, 'tcx>, trait_def_id: DefId, assoc_name: Ident, ) -> QueryResult<Option<Self::AssocItem<'tcx>>>
fn transitive_bounds_that_define_assoc_item<'tcx>( self, genv: GlobalEnv<'_, 'tcx>, trait_refs: impl Iterator<Item = PolyTraitRef<'tcx>>, assoc_name: Ident, ) -> impl Iterator<Item = PolyTraitRef<'tcx>>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.