about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEduard Burtescu <edy.burt@gmail.com>2015-07-27 18:11:43 +0300
committerEduard Burtescu <edy.burt@gmail.com>2015-07-27 18:11:43 +0300
commitcc09b1a08cc61dd3f485308adf3a5a252c718861 (patch)
tree0e7971effb8281073ef571c30fb86b2f00bd7829
parent5720f7055ac13cf616eb3a9a0b187440b56817d5 (diff)
downloadrust-cc09b1a08cc61dd3f485308adf3a5a252c718861.tar.gz
rust-cc09b1a08cc61dd3f485308adf3a5a252c718861.zip
Turn on `box(PLACE) expr` deprecation warning post-snapshot.
-rw-r--r--src/liballoc/boxed.rs2
-rw-r--r--src/libsyntax/parse/parser.rs18
-rw-r--r--src/test/compile-fail/borrowck-lend-flow-if.rs1
-rw-r--r--src/test/compile-fail/borrowck-lend-flow-loop.rs1
-rw-r--r--src/test/compile-fail/borrowck-lend-flow.rs1
-rw-r--r--src/test/compile-fail/borrowck-loan-in-overloaded-op.rs1
-rw-r--r--src/test/compile-fail/feature-gate-box-expr.rs1
-rw-r--r--src/test/compile-fail/feature-gate-placement-expr.rs1
-rw-r--r--src/test/compile-fail/issue-14084.rs1
-rw-r--r--src/test/compile-fail/moves-based-on-type-tuple.rs5
-rw-r--r--src/test/parse-fail/parenthesized-box-expr-message.rs1
11 files changed, 20 insertions, 13 deletions
diff --git a/src/liballoc/boxed.rs b/src/liballoc/boxed.rs
index acf22094233..a54b3420353 100644
--- a/src/liballoc/boxed.rs
+++ b/src/liballoc/boxed.rs
@@ -297,7 +297,7 @@ impl<T: Clone> Clone for Box<T> {
     /// let y = x.clone();
     /// ```
     #[inline]
-    fn clone(&self) -> Box<T> { box (HEAP) {(**self).clone()} }
+    fn clone(&self) -> Box<T> { box {(**self).clone()} }
     /// Copies `source`'s contents into `self` without creating a new allocation.
     ///
     /// # Examples
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 04665140e2f..80a10b2463f 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -2637,19 +2637,15 @@ impl<'a> Parser<'a> {
             //
             // ... but for now: check for a place: `box(PLACE) EXPR`.
 
-            if try!(self.eat(&token::OpenDelim(token::Paren)) ){
-                // SNAP d4432b3
-                // Enable this warning after snapshot ...
-                //
-                // let box_span = mk_sp(lo, self.last_span.hi);
-                // self.span_warn(
-                //     box_span,
-                //     "deprecated syntax; use the `in` keyword now \
-                //            (e.g. change `box (<expr>) <expr>` to \
-                //                         `in <expr> { <expr> }`)");
+            if try!(self.eat(&token::OpenDelim(token::Paren))) {
+                let box_span = mk_sp(lo, self.last_span.hi);
+                self.span_warn(box_span,
+                    "deprecated syntax; use the `in` keyword now \
+                           (e.g. change `box (<expr>) <expr>` to \
+                                        `in <expr> { <expr> }`)");
 
                 // Continue supporting `box () EXPR` (temporarily)
-                if !try!(self.eat(&token::CloseDelim(token::Paren)) ){
+                if !try!(self.eat(&token::CloseDelim(token::Paren))) {
                     let place = try!(self.parse_expr_nopanic());
                     try!(self.expect(&token::CloseDelim(token::Paren)));
                     // Give a suggestion to use `box()` when a parenthesised expression is used
diff --git a/src/test/compile-fail/borrowck-lend-flow-if.rs b/src/test/compile-fail/borrowck-lend-flow-if.rs
index 0efe8622621..a0a6e54e942 100644
--- a/src/test/compile-fail/borrowck-lend-flow-if.rs
+++ b/src/test/compile-fail/borrowck-lend-flow-if.rs
@@ -24,6 +24,7 @@ fn produce<T>() -> T { panic!(); }
 
 fn inc(v: &mut Box<isize>) {
     *v = box() (**v + 1);
+    //~^ WARN deprecated syntax
 }
 
 fn pre_freeze_cond() {
diff --git a/src/test/compile-fail/borrowck-lend-flow-loop.rs b/src/test/compile-fail/borrowck-lend-flow-loop.rs
index f841fedf75a..9356eeda605 100644
--- a/src/test/compile-fail/borrowck-lend-flow-loop.rs
+++ b/src/test/compile-fail/borrowck-lend-flow-loop.rs
@@ -23,6 +23,7 @@ fn produce<T>() -> T { panic!(); }
 
 fn inc(v: &mut Box<isize>) {
     *v = box() (**v + 1);
+    //~^ WARN deprecated syntax
 }
 
 fn loop_overarching_alias_mut() {
diff --git a/src/test/compile-fail/borrowck-lend-flow.rs b/src/test/compile-fail/borrowck-lend-flow.rs
index 6da8f088b32..c3dcddf8587 100644
--- a/src/test/compile-fail/borrowck-lend-flow.rs
+++ b/src/test/compile-fail/borrowck-lend-flow.rs
@@ -24,6 +24,7 @@ fn produce<T>() -> T { panic!(); }
 
 fn inc(v: &mut Box<isize>) {
     *v = box() (**v + 1);
+    //~^ WARN deprecated syntax
 }
 
 fn pre_freeze() {
diff --git a/src/test/compile-fail/borrowck-loan-in-overloaded-op.rs b/src/test/compile-fail/borrowck-loan-in-overloaded-op.rs
index 8fb527b3242..558475c28d7 100644
--- a/src/test/compile-fail/borrowck-loan-in-overloaded-op.rs
+++ b/src/test/compile-fail/borrowck-loan-in-overloaded-op.rs
@@ -23,6 +23,7 @@ impl Add for foo {
         let foo(box i) = self;
         let foo(box j) = f;
         foo(box() (i + j))
+        //~^ WARN deprecated syntax
     }
 }
 
diff --git a/src/test/compile-fail/feature-gate-box-expr.rs b/src/test/compile-fail/feature-gate-box-expr.rs
index 9640b2b475b..ace1b399662 100644
--- a/src/test/compile-fail/feature-gate-box-expr.rs
+++ b/src/test/compile-fail/feature-gate-box-expr.rs
@@ -21,5 +21,6 @@ fn main() {
     println!("x: {}", x);
 
     let x = box () 'c'; //~ ERROR box expression syntax is experimental
+    //~^ WARN deprecated syntax
     println!("x: {}", x);
 }
diff --git a/src/test/compile-fail/feature-gate-placement-expr.rs b/src/test/compile-fail/feature-gate-placement-expr.rs
index 64a1d49f960..7c75605d57d 100644
--- a/src/test/compile-fail/feature-gate-placement-expr.rs
+++ b/src/test/compile-fail/feature-gate-placement-expr.rs
@@ -20,6 +20,7 @@ fn main() {
     use std::boxed::HEAP;
 
     let x = box (HEAP) 'c'; //~ ERROR placement-in expression syntax is experimental
+    //~^ WARN deprecated syntax
     println!("x: {}", x);
 
     let x = in HEAP { 'c' }; //~ ERROR placement-in expression syntax is experimental
diff --git a/src/test/compile-fail/issue-14084.rs b/src/test/compile-fail/issue-14084.rs
index 8e566d7aafa..b33a6767274 100644
--- a/src/test/compile-fail/issue-14084.rs
+++ b/src/test/compile-fail/issue-14084.rs
@@ -15,4 +15,5 @@ fn main() {
     box ( () ) 0;
     //~^ ERROR: the trait `core::ops::Placer<_>` is not implemented
     //~| ERROR: the trait `core::ops::Placer<_>` is not implemented
+    //~| WARN deprecated syntax
 }
diff --git a/src/test/compile-fail/moves-based-on-type-tuple.rs b/src/test/compile-fail/moves-based-on-type-tuple.rs
index 30388f9d2f7..e1d462d1700 100644
--- a/src/test/compile-fail/moves-based-on-type-tuple.rs
+++ b/src/test/compile-fail/moves-based-on-type-tuple.rs
@@ -10,7 +10,10 @@
 
 #![feature(box_syntax)]
 
-fn dup(x: Box<isize>) -> Box<(Box<isize>,Box<isize>)> { box() (x, x) } //~ ERROR use of moved value
+fn dup(x: Box<isize>) -> Box<(Box<isize>,Box<isize>)> {
+    box() (x, x) //~ ERROR use of moved value
+    //~^ WARN deprecated syntax
+}
 fn main() {
     dup(box 3);
 }
diff --git a/src/test/parse-fail/parenthesized-box-expr-message.rs b/src/test/parse-fail/parenthesized-box-expr-message.rs
index 4c32d2f041e..3cf3685d5bd 100644
--- a/src/test/parse-fail/parenthesized-box-expr-message.rs
+++ b/src/test/parse-fail/parenthesized-box-expr-message.rs
@@ -14,5 +14,6 @@ fn main() {
     box (1 + 1)
     //~^ HELP try using `box ()` instead:
     //~| SUGGESTION box () (1 + 1)
+    //~| WARN deprecated syntax
     ; //~ ERROR expected expression, found `;`
 }