rust/tests/ui/auto-traits/auto-trait-validation.fixed
Esteban Küber 91e606b715 Tweak auto trait errors
Make suggestions to remove params and super traits tool-only, and make
the suggestion span more accurate.

```
error[E0567]: auto traits cannot have generic parameters
  --> $DIR/auto-trait-validation.rs:6:19
   |
LL | auto trait Generic<T> {}
   |            -------^^^
   |            |
   |            auto trait cannot have generic parameters

error[E0568]: auto traits cannot have super traits or lifetime bounds
  --> $DIR/auto-trait-validation.rs:8:20
   |
LL | auto trait Bound : Copy {}
   |            -----   ^^^^
   |            |
   |            auto traits cannot have super traits or lifetime bounds
```

```
error[E0380]: auto traits cannot have associated items
  --> $DIR/issue-23080.rs:5:8
   |
LL | unsafe auto trait Trait {
   |                   ----- auto traits cannot have associated items
LL |     fn method(&self) {
   |        ^^^^^^
```
2025-08-04 17:20:07 +00:00

26 lines
813 B
Rust

#![feature(auto_traits)]
#![allow(dead_code)]
//@ run-rustfix
auto trait Generic {}
//~^ ERROR auto traits cannot have generic parameters [E0567]
auto trait Bound {}
//~^ ERROR auto traits cannot have super traits or lifetime bounds [E0568]
auto trait LifetimeBound {}
//~^ ERROR auto traits cannot have super traits or lifetime bounds [E0568]
auto trait MyTrait { }
//~^ ERROR auto traits cannot have associated items [E0380]
auto trait AssocTy { }
//~^ ERROR auto traits cannot have associated items [E0380]
auto trait All {
//~^ ERROR auto traits cannot have generic parameters [E0567]
}
// We can't test both generic params and super-traits because the suggestion span overlaps.
auto trait All2 {
//~^ ERROR auto traits cannot have super traits or lifetime bounds [E0568]
}
fn main() {}