File: bare-trait-dont-suggest-dyn.old.stderr

package info (click to toggle)
rustc 1.87.0%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 925,564 kB
  • sloc: xml: 158,127; python: 36,039; javascript: 19,761; sh: 19,737; cpp: 18,981; ansic: 13,133; asm: 4,376; makefile: 710; perl: 29; lisp: 28; ruby: 19; sql: 11
file content (40 lines) | stat: -rw-r--r-- 1,643 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
error: trait objects without an explicit `dyn` are deprecated
  --> $DIR/bare-trait-dont-suggest-dyn.rs:6:33
   |
LL | fn ord_prefer_dot(s: String) -> Ord {
   |                                 ^^^
   |
   = warning: this is accepted in the current edition (Rust 2015) 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>
note: the lint level is defined here
  --> $DIR/bare-trait-dont-suggest-dyn.rs:5:9
   |
LL | #![deny(bare_trait_objects)]
   |         ^^^^^^^^^^^^^^^^^^
help: if this is a dyn-compatible trait, use `dyn`
   |
LL | fn ord_prefer_dot(s: String) -> dyn Ord {
   |                                 +++

error[E0038]: the trait `Ord` is not dyn compatible
  --> $DIR/bare-trait-dont-suggest-dyn.rs:6:33
   |
LL | fn ord_prefer_dot(s: String) -> Ord {
   |                                 ^^^ `Ord` is not dyn compatible
   |
note: for a trait to be dyn compatible it needs to allow building a vtable
      for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
  --> $SRC_DIR/core/src/cmp.rs:LL:COL
   |
   = note: the trait is not dyn compatible because it uses `Self` as a type parameter
  ::: $SRC_DIR/core/src/cmp.rs:LL:COL
   |
   = note: the trait is not dyn compatible because it uses `Self` as a type parameter
help: consider using an opaque type instead
   |
LL | fn ord_prefer_dot(s: String) -> impl Ord {
   |                                 ++++

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0038`.