os-rust/tests/ui/object-safety/bare-trait-dont-suggest-dyn.new.fixed
Esteban Küber 09f16b596d Avoid ICE in trait without dyn lint
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.
2024-01-29 18:33:52 +00:00

16 lines
588 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) -> impl 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());
}