From 8b82a549bf89f101efc19638357d360a968b1348 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Fri, 18 Mar 2011 13:44:13 -0700 Subject: [PATCH] rustc: When encountering "mutable" as a tycon, parse it, drop it on the floor, and emit a warning --- src/comp/driver/session.rs | 8 ++++++++ src/comp/front/parser.rs | 9 +++++++++ 2 files changed, 17 insertions(+) diff --git a/src/comp/driver/session.rs b/src/comp/driver/session.rs index 605774fe92f..95f7466d723 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 028b8a3132d..b00a2deb95d 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;