summaryrefslogtreecommitdiffstats
path: root/src/test/ui/specialization/defaultimpl/specialization-trait-not-implemented.stderr
blob: 33ca7a2c210d680ec7d7f664fae9aca585c0b029 (plain)
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
41
42
43
44
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
  --> $DIR/specialization-trait-not-implemented.rs:5:12
   |
LL | #![feature(specialization)]
   |            ^^^^^^^^^^^^^^
   |
   = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
   = help: consider using `min_specialization` instead, which is more stable and complete
   = note: `#[warn(incomplete_features)]` on by default

error[E0599]: the method `foo_one` exists for struct `MyStruct`, but its trait bounds were not satisfied
  --> $DIR/specialization-trait-not-implemented.rs:22:29
   |
LL | struct MyStruct;
   | ---------------
   | |
   | method `foo_one` not found for this struct
   | doesn't satisfy `MyStruct: Foo`
...
LL |     println!("{}", MyStruct.foo_one());
   |                             ^^^^^^^ method cannot be called on `MyStruct` due to unsatisfied trait bounds
   |
note: trait bound `MyStruct: Foo` was not satisfied
  --> $DIR/specialization-trait-not-implemented.rs:14:1
   |
LL | default impl<T> Foo for T {
   | ^^^^^^^^^^^^^^^^---^^^^^-
   | |
   | unsatisfied trait bound introduced here
note: the following trait must be implemented
  --> $DIR/specialization-trait-not-implemented.rs:7:1
   |
LL | trait Foo {
   | ^^^^^^^^^
   = help: items from traits can only be used if the trait is implemented and in scope
note: `Foo` defines an item `foo_one`, perhaps you need to implement it
  --> $DIR/specialization-trait-not-implemented.rs:7:1
   |
LL | trait Foo {
   | ^^^^^^^^^

error: aborting due to previous error; 1 warning emitted

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