diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2014-01-03 14:15:08 -0800 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2014-01-13 13:11:01 -0800 |
| commit | ce358fca333db7bc0ac1bffa1daa13099b2561d8 (patch) | |
| tree | cbe0faf79d26c98503db45abecdf8019eaabbce9 /src/libsyntax/parse | |
| parent | b8c60f906b897f413997f17f0376402061993c8d (diff) | |
| download | rust-ce358fca333db7bc0ac1bffa1daa13099b2561d8.tar.gz rust-ce358fca333db7bc0ac1bffa1daa13099b2561d8.zip | |
libsyntax: Make managed box `@` patterns obsolete
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/obsolete.rs | 10 | ||||
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 5 |
2 files changed, 12 insertions, 3 deletions
diff --git a/src/libsyntax/parse/obsolete.rs b/src/libsyntax/parse/obsolete.rs index dba4f62aa9c..6aa1afee206 100644 --- a/src/libsyntax/parse/obsolete.rs +++ b/src/libsyntax/parse/obsolete.rs @@ -44,7 +44,8 @@ pub enum ObsoleteSyntax { ObsoleteBoxedClosure, ObsoleteClosureType, ObsoleteMultipleImport, - ObsoleteExternModAttributesInParens + ObsoleteExternModAttributesInParens, + ObsoleteManagedPattern, } impl to_bytes::IterBytes for ObsoleteSyntax { @@ -148,7 +149,12 @@ impl ParserObsoleteMethods for Parser { "`extern mod` with linkage attribute list", "use `extern mod foo = \"bar\";` instead of \ `extern mod foo (name = \"bar\")`" - ) + ), + ObsoleteManagedPattern => ( + "managed pointer pattern", + "use a nested `match` expression instead of a managed box \ + pattern" + ), }; self.report(sp, kind, kind_str, desc); diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index b783ea6da3c..a71d5bf0e9e 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -2903,7 +2903,10 @@ impl Parser { }; PatLit(vst) } - _ => PatBox(sub) + _ => { + self.obsolete(self.span, ObsoleteManagedPattern); + PatBox(sub) + } }; hi = self.last_span.hi; return @ast::Pat { |
