# Module rustc_middle::ty::fast_reject

source · ## Structs

- Given generic arguments from an obligation and an impl, could these two be unified after replacing parameters in the the impl with inference variables.

## Enums

- See
`simplify_type`

. - Generic parameters are pretty much just bound variables, e.g. the type of
`fn foo<'a, T>(x: &'a T) -> u32 { ... }`

can be thought of as`for<'a, T> fn(&'a T) -> u32`

. - During fast-rejection, we have the choice of treating projection types as either simplifiable or not, depending on whether we expect the projection to be normalized/rigid.

## Functions

- Tries to simplify a type by only returning the outermost injective¹ layer, if one exists.