Struct rustc_trait_selection::traits::project::AssocTypeNormalizer [−][src]
struct AssocTypeNormalizer<'a, 'b, 'tcx> {
selcx: &'a mut SelectionContext<'b, 'tcx>,
param_env: ParamEnv<'tcx>,
cause: ObligationCause<'tcx>,
obligations: &'a mut Vec<PredicateObligation<'tcx>>,
depth: usize,
universes: Vec<Option<UniverseIndex>>,
}Fields
selcx: &'a mut SelectionContext<'b, 'tcx>param_env: ParamEnv<'tcx>cause: ObligationCause<'tcx>obligations: &'a mut Vec<PredicateObligation<'tcx>>depth: usizeuniverses: Vec<Option<UniverseIndex>>Implementations
fn new(
selcx: &'a mut SelectionContext<'b, 'tcx>,
param_env: ParamEnv<'tcx>,
cause: ObligationCause<'tcx>,
depth: usize,
obligations: &'a mut Vec<PredicateObligation<'tcx>>
) -> AssocTypeNormalizer<'a, 'b, 'tcx>
Trait Implementations
Auto Trait Implementations
impl<'a, 'b, 'tcx> !RefUnwindSafe for AssocTypeNormalizer<'a, 'b, 'tcx>
impl<'a, 'b, 'tcx> !Send for AssocTypeNormalizer<'a, 'b, 'tcx>
impl<'a, 'b, 'tcx> !Sync for AssocTypeNormalizer<'a, 'b, 'tcx>
impl<'a, 'b, 'tcx> Unpin for AssocTypeNormalizer<'a, 'b, 'tcx> where
'b: 'a,
'tcx: 'a,
impl<'a, 'b, 'tcx> !UnwindSafe for AssocTypeNormalizer<'a, 'b, 'tcx>
Blanket Implementations
Layout
Note: Most layout information is completely unstable and may be different between compiler versions and platforms. 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: 64 bytes