From 1b82060c5e40e0b4e996bcd30deccd2a523c7590 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20=C3=81vila=20de=20Esp=C3=ADndola?= Date: Tue, 25 Jan 2011 18:15:19 -0500 Subject: Print an error if we try to refer to a module in an expr_path. --- src/comp/middle/resolve.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/comp') diff --git a/src/comp/middle/resolve.rs b/src/comp/middle/resolve.rs index 1f609dd5..f372e3d7 100644 --- a/src/comp/middle/resolve.rs +++ b/src/comp/middle/resolve.rs @@ -444,7 +444,17 @@ fn fold_expr_path(&env e, &span sp, &ast.path p, &option.t[def] d, // the expr_field(expr_field(...(expr_path(...)))) we should return. auto index = new_def_hash[def_wrap](); - find_final_def(e, index, sp, p.node.idents, none[ast.def_id]); + auto d = find_final_def(e, index, sp, p.node.idents, none[ast.def_id]); + alt (d) { + case (def_wrap_expr_field(_)) { + } + case (def_wrap_other(_)) { + } + case (def_wrap_mod(?m)) { + e.sess.span_err(sp, + "can't refer to a module as a first-class value"); + } + } auto p_ = rec(node=rec(idents = vec(id0) with p.node) with p); auto ex = @fold.respan[ast.expr_](sp, ast.expr_path(p_, d_, a)); -- cgit v1.2.3