| error[E0599]: the method `test` exists for struct `Foo<Enum, CloneEnum>`, but its trait bounds were not satisfied |
| --> $DIR/derive-trait-for-method-call.rs:28:15 |
| | |
| LL | enum Enum { |
| | --------- doesn't satisfy `Enum: Clone` or `Enum: Default` |
| ... |
| LL | enum CloneEnum { |
| | -------------- doesn't satisfy `CloneEnum: Default` |
| ... |
| LL | struct Foo<X, Y> (X, Y); |
| | ---------------- method `test` not found for this struct |
| ... |
| LL | let y = x.test(); |
| | ^^^^ method cannot be called on `Foo<Enum, CloneEnum>` due to unsatisfied trait bounds |
| | |
| note: the following trait bounds were not satisfied: |
| `CloneEnum: Default` |
| `Enum: Clone` |
| `Enum: Default` |
| --> $DIR/derive-trait-for-method-call.rs:20:9 |
| | |
| LL | impl<X: Clone + Default + , Y: Clone + Default> Foo<X, Y> { |
| | ^^^^^ ^^^^^^^ ^^^^^^^ --------- |
| | | | | |
| | | | unsatisfied trait bound introduced here |
| | | unsatisfied trait bound introduced here |
| | unsatisfied trait bound introduced here |
| note: the trait `Default` must be implemented |
| --> $SRC_DIR/core/src/default.rs:LL:COL |
| help: consider annotating `Enum` with `#[derive(Clone)]` |
| | |
| LL + #[derive(Clone)] |
| LL | enum Enum { |
| | |
| |
| error[E0599]: the method `test` exists for struct `Foo<Struct, CloneStruct>`, but its trait bounds were not satisfied |
| --> $DIR/derive-trait-for-method-call.rs:34:15 |
| | |
| LL | struct Struct { |
| | ------------- doesn't satisfy `Struct: Clone` or `Struct: Default` |
| ... |
| LL | struct CloneStruct { |
| | ------------------ doesn't satisfy `CloneStruct: Default` |
| ... |
| LL | struct Foo<X, Y> (X, Y); |
| | ---------------- method `test` not found for this struct |
| ... |
| LL | let y = x.test(); |
| | ^^^^ method cannot be called on `Foo<Struct, CloneStruct>` due to unsatisfied trait bounds |
| | |
| note: the following trait bounds were not satisfied: |
| `CloneStruct: Default` |
| `Struct: Clone` |
| `Struct: Default` |
| --> $DIR/derive-trait-for-method-call.rs:20:9 |
| | |
| LL | impl<X: Clone + Default + , Y: Clone + Default> Foo<X, Y> { |
| | ^^^^^ ^^^^^^^ ^^^^^^^ --------- |
| | | | | |
| | | | unsatisfied trait bound introduced here |
| | | unsatisfied trait bound introduced here |
| | unsatisfied trait bound introduced here |
| help: consider annotating `CloneStruct` with `#[derive(Default)]` |
| | |
| LL + #[derive(Default)] |
| LL | struct CloneStruct { |
| | |
| help: consider annotating `Struct` with `#[derive(Clone, Default)]` |
| | |
| LL + #[derive(Clone, Default)] |
| LL | struct Struct { |
| | |
| |
| error[E0599]: the method `test` exists for struct `Foo<Vec<Enum>, Instant>`, but its trait bounds were not satisfied |
| --> $DIR/derive-trait-for-method-call.rs:40:15 |
| | |
| LL | enum Enum { |
| | --------- doesn't satisfy `Enum: Clone` |
| ... |
| LL | struct Foo<X, Y> (X, Y); |
| | ---------------- method `test` not found for this struct |
| ... |
| LL | let y = x.test(); |
| | ^^^^ method cannot be called on `Foo<Vec<Enum>, Instant>` due to unsatisfied trait bounds |
| | |
| note: trait bound `Instant: Default` was not satisfied |
| --> $DIR/derive-trait-for-method-call.rs:20:40 |
| | |
| LL | impl<X: Clone + Default + , Y: Clone + Default> Foo<X, Y> { |
| | ^^^^^^^ --------- |
| | | |
| | unsatisfied trait bound introduced here |
| = note: the following trait bounds were not satisfied: |
| `Enum: Clone` |
| which is required by `Vec<Enum>: Clone` |
| help: consider annotating `Enum` with `#[derive(Clone)]` |
| | |
| LL + #[derive(Clone)] |
| LL | enum Enum { |
| | |
| |
| error: aborting due to 3 previous errors |
| |
| For more information about this error, try `rustc --explain E0599`. |