summaryrefslogtreecommitdiffstats
path: root/src/test/ui/suggestions/derive-trait-for-method-call.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/suggestions/derive-trait-for-method-call.stderr')
-rw-r--r--src/test/ui/suggestions/derive-trait-for-method-call.stderr89
1 files changed, 89 insertions, 0 deletions
diff --git a/src/test/ui/suggestions/derive-trait-for-method-call.stderr b/src/test/ui/suggestions/derive-trait-for-method-call.stderr
new file mode 100644
index 000000000..7cc372f24
--- /dev/null
+++ b/src/test/ui/suggestions/derive-trait-for-method-call.stderr
@@ -0,0 +1,89 @@
+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`
+ | doesn't satisfy `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:
+ `Enum: Clone`
+ `Enum: Default`
+ `CloneEnum: Default`
+note: the following trait must be implemented
+ --> $SRC_DIR/core/src/default.rs:LL:COL
+ |
+LL | pub trait Default: Sized {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^
+help: consider annotating `Enum` with `#[derive(Clone)]`
+ |
+LL | #[derive(Clone)]
+ |
+
+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`
+ | doesn't satisfy `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:
+ `Struct: Clone`
+ `Struct: Default`
+ `CloneStruct: Default`
+help: consider annotating `CloneStruct` with `#[derive(Default)]`
+ |
+LL | #[derive(Default)]
+ |
+help: consider annotating `Struct` with `#[derive(Clone, Default)]`
+ |
+LL | #[derive(Clone, Default)]
+ |
+
+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 | 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
+ |
+ ::: $SRC_DIR/std/src/time.rs:LL:COL
+ |
+LL | pub struct Instant(time::Instant);
+ | ------------------ doesn't satisfy `Instant: Default`
+ |
+ ::: $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
+ |
+LL | pub struct Vec<T, #[unstable(feature = "allocator_api", issue = "32838")] A: Allocator = Global> {
+ | ------------------------------------------------------------------------------------------------ doesn't satisfy `Vec<Enum>: Clone`
+ |
+ = note: the following trait bounds were not satisfied:
+ `Vec<Enum>: Clone`
+ `Instant: Default`
+
+error: aborting due to 3 previous errors
+
+For more information about this error, try `rustc --explain E0599`.