From a99ba1180d16394427fcd0fa74ce6dfff96d5566 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Br=C3=BCschweiler?= Date: Fri, 7 Jun 2013 20:08:47 +0200 Subject: [PATCH] rustc::regionck: fix ICE when getting signature of ty_err Fixes #5062 --- src/librustc/middle/typeck/check/regionck.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/librustc/middle/typeck/check/regionck.rs b/src/librustc/middle/typeck/check/regionck.rs index 2eb646a0b9b..9cfa0187ab6 100644 --- a/src/librustc/middle/typeck/check/regionck.rs +++ b/src/librustc/middle/typeck/check/regionck.rs @@ -460,6 +460,10 @@ fn constrain_call(rcx: @mut Rcx, debug!("constrain_call(call_expr=%s, implicitly_ref_args=%?)", call_expr.repr(tcx), implicitly_ref_args); let callee_ty = rcx.resolve_node_type(callee_id); + if ty::type_is_error(callee_ty) { + // Bail, as function type is unknown + return; + } let fn_sig = ty::ty_fn_sig(callee_ty); // `callee_region` is the scope representing the time in which the