09f16b596d
Do not attempt to provide an accurate suggestion for `impl Trait` in bare trait types when linting. Instead, only do the object safety check when an E0782 is already going to be emitted in the 2021 edition. Fix #120241.
16 lines
583 B
Rust
16 lines
583 B
Rust
// revisions: old new
|
|
//[old] edition:2015
|
|
//[new] edition:2021
|
|
//[new] run-rustfix
|
|
// FIXME: the test suite tries to create a crate called `bare_trait_dont_suggest_dyn.new`
|
|
#![crate_name="bare_trait_dont_suggest_dyn"]
|
|
#![deny(bare_trait_objects)]
|
|
fn ord_prefer_dot(s: String) -> Ord {
|
|
//~^ ERROR the trait `Ord` cannot be made into an object
|
|
//[old]~| ERROR trait objects without an explicit `dyn` are deprecated
|
|
//[old]~| WARNING this is accepted in the current edition (Rust 2015)
|
|
(s.starts_with("."), s)
|
|
}
|
|
fn main() {
|
|
let _ = ord_prefer_dot(String::new());
|
|
}
|