## ProvidedValue

# Type Alias ProvidedValue

Source

    pub type ProvidedValue<'tcx> = OpaqueTyOrigin<DefId>;

Expand description

This type alias specifies the type returned from query providers and the type used for decoding. For regular queries this is the declared returned type `V`, but `arena_cache` will use `<V as ArenaCached>::Provided` instead.

## Aliased Type§

    pub enum ProvidedValue<'tcx> {
        FnReturn {
            parent: DefId,
            in_trait_or_impl: Option<RpitContext>,
        },
        AsyncFn {
            parent: DefId,
            in_trait_or_impl: Option<RpitContext>,
        },
        TyAlias {
            parent: DefId,
            in_assoc_ty: bool,
        },
    }

## Variants§

§

### FnReturn

`-> impl Trait`

#### Fields

§`parent: DefId`

The defining function.

§`in_trait_or_impl: Option<RpitContext>`
§

### AsyncFn

`async fn`

#### Fields

§`parent: DefId`

The defining function.

§`in_trait_or_impl: Option<RpitContext>`
§

### TyAlias

type aliases: `type Foo = impl Trait;`

#### Fields

§`parent: DefId`

The type alias or associated type parent of the TAIT/ATPIT

§`in_assoc_ty: bool`

associated types in impl blocks for traits.

## Layout§

Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.