Skip to main content

## TraitRef

# Type Alias TraitRef

Source

    pub type TraitRef<'tcx> = TraitRef<TyCtxt<'tcx>>;

## Aliased Type§

    pub struct TraitRef<'tcx> {
        pub def_id: DefId,
        pub args: &'tcx RawList<(), GenericArg<'tcx>>,
        /* private fields */
    }

## Fields§

§`def_id: DefId`§`args: &'tcx RawList<(), GenericArg<'tcx>>`

## Trait Implementations§

Source§

### impl<'tcx, P: PrettyPrinter<'tcx>> Print<'tcx, P> for TraitRef<'tcx>

Source§

#### fn print(&self, p: &mut P) -> Result<(), PrintError>

Source§

### impl<'tcx> PrintTraitRefExt<'tcx> for TraitRef<'tcx>

Source§

#### fn print_only_trait_path(self) -> TraitRefPrintOnlyTraitPath<'tcx>

Source§

#### fn print_trait_sugared(self) -> TraitRefPrintSugared<'tcx>

Source§

#### fn print_only_trait_name(self) -> TraitRefPrintOnlyTraitName<'tcx>

Source§

### impl<'tcx> QueryKey for TraitRef<'tcx>

Source§

#### fn default_span(&self, tcx: TyCtxt<'_>) -> Span

In the event that a cycle occurs, if no explicit span has been given for a query with key `self`, what span should we use?
Source§

#### type Cache<V> = DefaultCache<Self, V>

The type of in-memory cache to use for queries with this key type. Read more
Source§

#### fn key_as_def_id(&self) -> Option<DefId>

If the key is a `DefId` or `DefId`–equivalent, return that `DefId`. Otherwise, return `None`.

## Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain `repr(...)` attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 16 bytes