Skip to content

Commit

Permalink
Add test for extra <> in dyn suggestion.
Browse files Browse the repository at this point in the history
  • Loading branch information
m-ou-se committed Aug 30, 2021
1 parent 23d2cb8 commit f8beb8f
Show file tree
Hide file tree
Showing 3 changed files with 71 additions and 0 deletions.
23 changes: 23 additions & 0 deletions src/test/ui/dyn-keyword/dyn-angle-brackets.fixed
@@ -0,0 +1,23 @@
// See https://github.com/rust-lang/rust/issues/88508
// run-rustfix
// edition:2018
#![deny(bare_trait_objects)]
#![allow(dead_code)]
#![allow(unused_imports)]

use std::fmt;

#[derive(Debug)]
pub struct Foo;

impl fmt::Display for Foo {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
<dyn fmt::Debug>::fmt(self, f)
//~^ ERROR trait objects without an explicit `dyn` are deprecated
//~| WARNING this is accepted in the current edition
//~| ERROR trait objects without an explicit `dyn` are deprecated
//~| WARNING this is accepted in the current edition
}
}

fn main() {}
23 changes: 23 additions & 0 deletions src/test/ui/dyn-keyword/dyn-angle-brackets.rs
@@ -0,0 +1,23 @@
// See https://github.com/rust-lang/rust/issues/88508
// run-rustfix
// edition:2018
#![deny(bare_trait_objects)]
#![allow(dead_code)]
#![allow(unused_imports)]

use std::fmt;

#[derive(Debug)]
pub struct Foo;

impl fmt::Display for Foo {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
<fmt::Debug>::fmt(self, f)
//~^ ERROR trait objects without an explicit `dyn` are deprecated
//~| WARNING this is accepted in the current edition
//~| ERROR trait objects without an explicit `dyn` are deprecated
//~| WARNING this is accepted in the current edition
}
}

fn main() {}
25 changes: 25 additions & 0 deletions src/test/ui/dyn-keyword/dyn-angle-brackets.stderr
@@ -0,0 +1,25 @@
error: trait objects without an explicit `dyn` are deprecated
--> $DIR/dyn-angle-brackets.rs:15:10
|
LL | <fmt::Debug>::fmt(self, f)
| ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Debug`
|
note: the lint level is defined here
--> $DIR/dyn-angle-brackets.rs:4:9
|
LL | #![deny(bare_trait_objects)]
| ^^^^^^^^^^^^^^^^^^
= warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>

error: trait objects without an explicit `dyn` are deprecated
--> $DIR/dyn-angle-brackets.rs:15:10
|
LL | <fmt::Debug>::fmt(self, f)
| ^^^^^^^^^^ help: use `dyn`: `dyn fmt::Debug`
|
= warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>

error: aborting due to 2 previous errors

0 comments on commit f8beb8f

Please sign in to comment.