[−][src]Function rustc_mir::borrow_check::type_check::relate_tys::relate_types
pub(in borrow_check::type_check) fn relate_types<'tcx>(
infcx: &InferCtxt<'_, 'tcx>,
a: Ty<'tcx>,
v: Variance,
b: Ty<'tcx>,
locations: Locations,
category: ConstraintCategory,
borrowck_context: Option<&mut BorrowCheckContext<'_, 'tcx>>
) -> Fallible<()>
Adds sufficient constraints to ensure that a R b where R depends on v:
- "Covariant"
a <: b - "Invariant"
a == b - "Contravariant"
a :> b
N.B., the type a is permitted to have unresolved inference
variables, but not the type b.