Skip to content

Commit aadcf29

Browse files
committed
syntax: add an obsolete syntax warning for @[].
1 parent f8734df commit aadcf29

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

src/libsyntax/parse/obsolete.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ pub enum ObsoleteSyntax {
4545
ObsoleteExternModAttributesInParens,
4646
ObsoleteManagedPattern,
4747
ObsoleteManagedString,
48+
ObsoleteManagedVec,
4849
}
4950

5051
impl to_bytes::IterBytes for ObsoleteSyntax {
@@ -154,6 +155,10 @@ impl ParserObsoleteMethods for Parser {
154155
"managed string",
155156
"use `Rc<~str>` instead of a managed string"
156157
),
158+
ObsoleteManagedVec => (
159+
"managed vector",
160+
"use `Rc<~[T]>` instead of a managed vector"
161+
),
157162
};
158163

159164
self.report(sp, kind, kind_str, desc);

src/libsyntax/parse/parser.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2294,7 +2294,10 @@ impl Parser {
22942294
// HACK: turn @[...] into a @-vec
22952295
ex = match e.node {
22962296
ExprVec(..) |
2297-
ExprRepeat(..) => ExprVstore(e, ExprVstoreBox),
2297+
ExprRepeat(..) => {
2298+
self.obsolete(e.span, ObsoleteManagedVec);
2299+
ExprVstore(e, ExprVstoreBox)
2300+
}
22982301
ExprLit(lit) if lit_is_str(lit) => {
22992302
self.obsolete(self.last_span, ObsoleteManagedString);
23002303
ExprVstore(e, ExprVstoreBox)

0 commit comments

Comments
 (0)