aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPatrick Walton <[email protected]>2011-03-18 13:44:13 -0700
committerPatrick Walton <[email protected]>2011-03-18 13:44:54 -0700
commit8b82a549bf89f101efc19638357d360a968b1348 (patch)
tree57b35532aabcae949dbd6af1018e42e7ba5f608f /src
parentMake some standard library pieces no longer dependent on mutable parameters, ... (diff)
downloadrust-8b82a549bf89f101efc19638357d360a968b1348.tar.xz
rust-8b82a549bf89f101efc19638357d360a968b1348.zip
rustc: When encountering "mutable" as a tycon, parse it, drop it on the floor, and emit a warning
Diffstat (limited to 'src')
-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;