about summary refs log tree commit diff
path: root/tests/ui/trait-bounds/impl-derived-implicit-sized-bound.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/trait-bounds/impl-derived-implicit-sized-bound.stderr')
-rw-r--r--tests/ui/trait-bounds/impl-derived-implicit-sized-bound.stderr31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/ui/trait-bounds/impl-derived-implicit-sized-bound.stderr b/tests/ui/trait-bounds/impl-derived-implicit-sized-bound.stderr
new file mode 100644
index 00000000000..f08d685836e
--- /dev/null
+++ b/tests/ui/trait-bounds/impl-derived-implicit-sized-bound.stderr
@@ -0,0 +1,31 @@
+error[E0599]: the method `get` exists for struct `Victim<'_, Self>`, but its trait bounds were not satisfied
+  --> $DIR/impl-derived-implicit-sized-bound.rs:31:19
+   |
+LL | struct Victim<'a, T: Perpetrator + ?Sized>
+   | ------------------------------------------
+   | |
+   | method `get` not found for this struct
+   | doesn't satisfy `Victim<'_, Self>: VictimTrait`
+...
+LL |     self.getter().get();
+   |                   ^^^ method cannot be called on `Victim<'_, Self>` due to unsatisfied trait bounds
+   |
+note: trait bound `Self: Sized` was not satisfied
+  --> $DIR/impl-derived-implicit-sized-bound.rs:15:10
+   |
+LL | impl<'a, T: Perpetrator /*+ ?Sized*/> VictimTrait for Victim<'a, T> {
+   |          ^                            -----------     -------------
+   |          |
+   |          unsatisfied trait bound introduced here
+help: consider relaxing the type parameter's implicit `Sized` bound
+   |
+LL | impl<'a, T: ?Sized + Perpetrator /*+ ?Sized*/> VictimTrait for Victim<'a, T> {
+   |             ++++++++
+help: consider restricting the type parameter to satisfy the trait bound
+   |
+LL |   Self: Sized, Self: Sized
+   |              +++++++++++++
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0599`.