diff --git a/src/comp/driver/session.rs b/src/comp/driver/session.rs index e23dbeed58a..605774fe92f 100644 --- a/src/comp/driver/session.rs +++ b/src/comp/driver/session.rs @@ -45,6 +45,15 @@ obj session(cfg targ) { fail; } + fn span_unimpl(span sp, str msg) { + log #fmt("%s:%u:%u:%u:%u: error: unimplemented %s", + sp.filename, + sp.lo.line, sp.lo.col, + sp.hi.line, sp.hi.col, + msg); + fail; + } + fn unimpl(str msg) { log #fmt("error: unimplemented %s", msg); fail; diff --git a/src/comp/middle/typeck.rs b/src/comp/middle/typeck.rs index 5279b71378f..14d4f714b0b 100644 --- a/src/comp/middle/typeck.rs +++ b/src/comp/middle/typeck.rs @@ -1402,7 +1402,8 @@ fn demand_expr_full(&@fn_ctxt fcx, @ty.t expected, @ast.expr e, } case (_) { - fcx.ccx.sess.unimpl("type unification for expression variant"); + fcx.ccx.sess.span_unimpl(e.span, + "type unification for expression variant"); fail; } }