diff options
| -rw-r--r-- | src/librustc/middle/infer/mod.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/librustc/middle/infer/mod.rs b/src/librustc/middle/infer/mod.rs index e6cea4d1b6a..48042c152b8 100644 --- a/src/librustc/middle/infer/mod.rs +++ b/src/librustc/middle/infer/mod.rs @@ -1162,7 +1162,15 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> { /// these unconstrained type variables. fn resolve_type_vars_or_error(&self, t: &Ty<'tcx>) -> mc::McResult<Ty<'tcx>> { let ty = self.resolve_type_vars_if_possible(t); - if ty.has_infer_types() || ty.references_error() { Err(()) } else { Ok(ty) } + if ty.references_error() { + debug!("resolve_type_vars_or_error: error from {:?}", ty); + Err(()) + } else if ty.is_ty_var() { + debug!("resolve_type_vars_or_error: error from {:?}", ty); + Err(()) + } else { + Ok(ty) + } } pub fn fully_resolve<T:TypeFoldable<'tcx>>(&self, value: &T) -> FixupResult<T> { |
