about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authormemoryruins <memoryruinsmusic@gmail.com>2019-05-28 14:45:27 -0400
committermemoryruins <memoryruinsmusic@gmail.com>2019-05-28 14:45:27 -0400
commita1d1d7a2c696c2afeff2ea206621a32d77fa49dc (patch)
treeec4822f1d2378fa32bb5cf711cd09c8ef0dfd8d2 /src
parent54e10558b4c28fd2a861e34ec5daf53b287a4198 (diff)
downloadrust-a1d1d7a2c696c2afeff2ea206621a32d77fa49dc.tar.gz
rust-a1d1d7a2c696c2afeff2ea206621a32d77fa49dc.zip
Update test/ui/parser for bare_trait_object warnings
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/parser/bounds-obj-parens.rs2
-rw-r--r--src/test/ui/parser/trailing-plus-in-bounds.rs1
-rw-r--r--src/test/ui/parser/trait-object-bad-parens.rs1
-rw-r--r--src/test/ui/parser/trait-object-bad-parens.stderr8
-rw-r--r--src/test/ui/parser/trait-object-lifetime-parens.rs2
-rw-r--r--src/test/ui/parser/trait-object-lifetime-parens.stderr10
-rw-r--r--src/test/ui/parser/trait-object-polytrait-priority.rs2
-rw-r--r--src/test/ui/parser/trait-object-polytrait-priority.stderr2
-rw-r--r--src/test/ui/parser/trait-object-trait-parens.rs3
-rw-r--r--src/test/ui/parser/trait-object-trait-parens.stderr24
10 files changed, 43 insertions, 12 deletions
diff --git a/src/test/ui/parser/bounds-obj-parens.rs b/src/test/ui/parser/bounds-obj-parens.rs
index cc86879bf46..1e0f9e40cdc 100644
--- a/src/test/ui/parser/bounds-obj-parens.rs
+++ b/src/test/ui/parser/bounds-obj-parens.rs
@@ -1,5 +1,7 @@
 // compile-pass
 
+#![allow(bare_trait_objects)]
+
 type A = Box<(Fn(u8) -> u8) + 'static + Send + Sync>; // OK (but see #39318)
 
 fn main() {}
diff --git a/src/test/ui/parser/trailing-plus-in-bounds.rs b/src/test/ui/parser/trailing-plus-in-bounds.rs
index 153f942b978..89a2953ad0f 100644
--- a/src/test/ui/parser/trailing-plus-in-bounds.rs
+++ b/src/test/ui/parser/trailing-plus-in-bounds.rs
@@ -2,6 +2,7 @@
 // compile-flags: -Z continue-parse-after-error
 
 #![feature(box_syntax)]
+#![allow(bare_trait_objects)]
 
 use std::fmt::Debug;
 
diff --git a/src/test/ui/parser/trait-object-bad-parens.rs b/src/test/ui/parser/trait-object-bad-parens.rs
index 0f1f49a521b..e81b019b646 100644
--- a/src/test/ui/parser/trait-object-bad-parens.rs
+++ b/src/test/ui/parser/trait-object-bad-parens.rs
@@ -1,6 +1,7 @@
 // compile-flags: -Z continue-parse-after-error
 
 #![feature(optin_builtin_traits)]
+#![allow(bare_trait_objects)]
 
 auto trait Auto {}
 
diff --git a/src/test/ui/parser/trait-object-bad-parens.stderr b/src/test/ui/parser/trait-object-bad-parens.stderr
index 74e484eebee..a36727ffeaf 100644
--- a/src/test/ui/parser/trait-object-bad-parens.stderr
+++ b/src/test/ui/parser/trait-object-bad-parens.stderr
@@ -1,23 +1,23 @@
 error[E0178]: expected a path on the left-hand side of `+`, not `((Auto))`
-  --> $DIR/trait-object-bad-parens.rs:8:16
+  --> $DIR/trait-object-bad-parens.rs:9:16
    |
 LL |     let _: Box<((Auto)) + Auto>;
    |                ^^^^^^^^^^^^^^^ expected a path
 
 error[E0178]: expected a path on the left-hand side of `+`, not `(Auto + Auto)`
-  --> $DIR/trait-object-bad-parens.rs:10:16
+  --> $DIR/trait-object-bad-parens.rs:11:16
    |
 LL |     let _: Box<(Auto + Auto) + Auto>;
    |                ^^^^^^^^^^^^^^^^^^^^ expected a path
 
 error[E0178]: expected a path on the left-hand side of `+`, not `(Auto)`
-  --> $DIR/trait-object-bad-parens.rs:12:16
+  --> $DIR/trait-object-bad-parens.rs:13:16
    |
 LL |     let _: Box<(Auto +) + Auto>;
    |                ^^^^^^^^^^^^^^^ expected a path
 
 error[E0178]: expected a path on the left-hand side of `+`, not `(dyn Auto)`
-  --> $DIR/trait-object-bad-parens.rs:14:16
+  --> $DIR/trait-object-bad-parens.rs:15:16
    |
 LL |     let _: Box<(dyn Auto) + Auto>;
    |                ^^^^^^^^^^^^^^^^^ expected a path
diff --git a/src/test/ui/parser/trait-object-lifetime-parens.rs b/src/test/ui/parser/trait-object-lifetime-parens.rs
index 43f6497f7e7..d5598afd6f4 100644
--- a/src/test/ui/parser/trait-object-lifetime-parens.rs
+++ b/src/test/ui/parser/trait-object-lifetime-parens.rs
@@ -1,5 +1,7 @@
 // compile-flags: -Z continue-parse-after-error
 
+#![allow(bare_trait_objects)]
+
 trait Trait {}
 
 fn f<'a, T: Trait + ('a)>() {} //~ ERROR parenthesized lifetime bounds are not supported
diff --git a/src/test/ui/parser/trait-object-lifetime-parens.stderr b/src/test/ui/parser/trait-object-lifetime-parens.stderr
index a31b7aea8fe..55f14c97876 100644
--- a/src/test/ui/parser/trait-object-lifetime-parens.stderr
+++ b/src/test/ui/parser/trait-object-lifetime-parens.stderr
@@ -1,23 +1,23 @@
 error: parenthesized lifetime bounds are not supported
-  --> $DIR/trait-object-lifetime-parens.rs:5:21
+  --> $DIR/trait-object-lifetime-parens.rs:7:21
    |
 LL | fn f<'a, T: Trait + ('a)>() {}
    |                     ^^^^ help: remove the parentheses
 
 error: parenthesized lifetime bounds are not supported
-  --> $DIR/trait-object-lifetime-parens.rs:8:24
+  --> $DIR/trait-object-lifetime-parens.rs:10:24
    |
 LL |     let _: Box<Trait + ('a)>;
    |                        ^^^^ help: remove the parentheses
 
 error: expected `:`, found `)`
-  --> $DIR/trait-object-lifetime-parens.rs:9:19
+  --> $DIR/trait-object-lifetime-parens.rs:11:19
    |
 LL |     let _: Box<('a) + Trait>;
    |                   ^ expected `:`
 
 error: chained comparison operators require parentheses
-  --> $DIR/trait-object-lifetime-parens.rs:9:15
+  --> $DIR/trait-object-lifetime-parens.rs:11:15
    |
 LL |     let _: Box<('a) + Trait>;
    |               ^^^^^^^^^^^^^^^
@@ -26,7 +26,7 @@ LL |     let _: Box<('a) + Trait>;
    = help: or use `(...)` if you meant to specify fn arguments
 
 error: expected type, found `'a`
-  --> $DIR/trait-object-lifetime-parens.rs:9:17
+  --> $DIR/trait-object-lifetime-parens.rs:11:17
    |
 LL |     let _: Box<('a) + Trait>;
    |         -       ^^
diff --git a/src/test/ui/parser/trait-object-polytrait-priority.rs b/src/test/ui/parser/trait-object-polytrait-priority.rs
index 40d2ad52c35..63425f3e201 100644
--- a/src/test/ui/parser/trait-object-polytrait-priority.rs
+++ b/src/test/ui/parser/trait-object-polytrait-priority.rs
@@ -1,3 +1,5 @@
+#![allow(bare_trait_objects)]
+
 trait Trait<'a> {}
 
 fn main() {
diff --git a/src/test/ui/parser/trait-object-polytrait-priority.stderr b/src/test/ui/parser/trait-object-polytrait-priority.stderr
index 5e2a35ea60c..a6add6079ce 100644
--- a/src/test/ui/parser/trait-object-polytrait-priority.stderr
+++ b/src/test/ui/parser/trait-object-polytrait-priority.stderr
@@ -1,5 +1,5 @@
 error[E0178]: expected a path on the left-hand side of `+`, not `&for<'a> Trait<'a>`
-  --> $DIR/trait-object-polytrait-priority.rs:4:12
+  --> $DIR/trait-object-polytrait-priority.rs:6:12
    |
 LL |     let _: &for<'a> Trait<'a> + 'static;
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try adding parentheses: `&(for<'a> Trait<'a> + 'static)`
diff --git a/src/test/ui/parser/trait-object-trait-parens.rs b/src/test/ui/parser/trait-object-trait-parens.rs
index 9ac10cd1327..a113de14b6f 100644
--- a/src/test/ui/parser/trait-object-trait-parens.rs
+++ b/src/test/ui/parser/trait-object-trait-parens.rs
@@ -5,8 +5,11 @@ fn f<T: (Copy) + (?Sized) + (for<'a> Trait<'a>)>() {}
 fn main() {
     let _: Box<(Copy) + (?Sized) + (for<'a> Trait<'a>)>;
     //~^ ERROR `?Trait` is not permitted in trait object types
+    //~| WARN trait objects without an explicit `dyn` are deprecated
     let _: Box<(?Sized) + (for<'a> Trait<'a>) + (Copy)>;
+    //~^ WARN trait objects without an explicit `dyn` are deprecated
     let _: Box<(for<'a> Trait<'a>) + (Copy) + (?Sized)>;
     //~^ ERROR use of undeclared lifetime name `'a`
     //~| ERROR `?Trait` is not permitted in trait object types
+    //~| WARN trait objects without an explicit `dyn` are deprecated
 }
diff --git a/src/test/ui/parser/trait-object-trait-parens.stderr b/src/test/ui/parser/trait-object-trait-parens.stderr
index 36494b76539..e3fb8a0113a 100644
--- a/src/test/ui/parser/trait-object-trait-parens.stderr
+++ b/src/test/ui/parser/trait-object-trait-parens.stderr
@@ -5,13 +5,33 @@ LL |     let _: Box<(Copy) + (?Sized) + (for<'a> Trait<'a>)>;
    |                         ^^^^^^^^
 
 error: `?Trait` is not permitted in trait object types
-  --> $DIR/trait-object-trait-parens.rs:9:47
+  --> $DIR/trait-object-trait-parens.rs:11:47
    |
 LL |     let _: Box<(for<'a> Trait<'a>) + (Copy) + (?Sized)>;
    |                                               ^^^^^^^^
 
+warning: trait objects without an explicit `dyn` are deprecated
+  --> $DIR/trait-object-trait-parens.rs:6:16
+   |
+LL |     let _: Box<(Copy) + (?Sized) + (for<'a> Trait<'a>)>;
+   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (Copy) + (?Sized) + (for<'a> Trait<'a>)`
+   |
+   = note: #[warn(bare_trait_objects)] on by default
+
+warning: trait objects without an explicit `dyn` are deprecated
+  --> $DIR/trait-object-trait-parens.rs:9:16
+   |
+LL |     let _: Box<(?Sized) + (for<'a> Trait<'a>) + (Copy)>;
+   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (?Sized) + (for<'a> Trait<'a>) + (Copy)`
+
+warning: trait objects without an explicit `dyn` are deprecated
+  --> $DIR/trait-object-trait-parens.rs:11:16
+   |
+LL |     let _: Box<(for<'a> Trait<'a>) + (Copy) + (?Sized)>;
+   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (for<'a> Trait<'a>) + (Copy) + (?Sized)`
+
 error[E0261]: use of undeclared lifetime name `'a`
-  --> $DIR/trait-object-trait-parens.rs:9:31
+  --> $DIR/trait-object-trait-parens.rs:11:31
    |
 LL |     let _: Box<(for<'a> Trait<'a>) + (Copy) + (?Sized)>;
    |                               ^^ undeclared lifetime