From 03bfb0f31670364a47ddf14db068bf47e291e6ba Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Tue, 19 Dec 2017 04:18:15 -0500 Subject: [PATCH] tweak comment on `TypeTest` to be more accurate --- src/librustc_mir/borrow_check/nll/region_infer/mod.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/librustc_mir/borrow_check/nll/region_infer/mod.rs b/src/librustc_mir/borrow_check/nll/region_infer/mod.rs index 36b59d9fb7d3..e2a36e6863ee 100644 --- a/src/librustc_mir/borrow_check/nll/region_infer/mod.rs +++ b/src/librustc_mir/borrow_check/nll/region_infer/mod.rs @@ -122,10 +122,12 @@ pub struct Constraint { /// checks that they meet certain extra criteria. If not, an error /// can be issued. /// -/// One reason for this is that these type tests always boil down to a -/// check like `'a: 'x` where `'a` is a universally quantified region -/// -- and therefore not one whose value is really meant to be -/// *inferred*, precisely. Another reason is that these type tests can +/// One reason for this is that these type tests typically boil down +/// to a check like `'a: 'x` where `'a` is a universally quantified +/// region -- and therefore not one whose value is really meant to be +/// *inferred*, precisely (this is not always the case: one can have a +/// type test like `>::Bar: 'x`, where `'?0` is an +/// inference variable). Another reason is that these type tests can /// involve *disjunction* -- that is, they can be satisfied in more /// than one way. ///