aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/comp/driver/session.rs8
-rw-r--r--src/comp/front/parser.rs9
2 files changed, 17 insertions, 0 deletions
diff --git a/src/comp/driver/session.rs b/src/comp/driver/session.rs
index 605774fe..95f7466d 100644
--- a/src/comp/driver/session.rs
+++ b/src/comp/driver/session.rs
@@ -40,6 +40,14 @@ obj session(cfg targ) {
fail;
}
+ fn span_warn(span sp, str msg) {
+ log #fmt("%s:%u:%u:%u:%u: warning: %s",
+ sp.filename,
+ sp.lo.line, sp.lo.col,
+ sp.hi.line, sp.hi.col,
+ msg);
+ }
+
fn bug(str msg) {
log #fmt("error: internal compiler error %s", msg);
fail;
diff --git a/src/comp/front/parser.rs b/src/comp/front/parser.rs
index 028b8a31..b00a2deb 100644
--- a/src/comp/front/parser.rs
+++ b/src/comp/front/parser.rs
@@ -452,6 +452,15 @@ impure fn parse_ty(parser p) -> @ast.ty {
t = ast.ty_path(parse_path(p, GREEDY), none[ast.def]);
}
+ case (token.MUTABLE) {
+ p.bump();
+ p.get_session().span_warn(p.get_span(),
+ "ignoring deprecated 'mutable' type constructor");
+ auto typ = parse_ty(p);
+ t = typ.node;
+ hi = typ.span;
+ }
+
case (_) {
p.err("expecting type");
t = ast.ty_nil;