summaryrefslogtreecommitdiffstats
path: root/tests/ui/impl-trait/issues/issue-62742.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/impl-trait/issues/issue-62742.stderr')
-rw-r--r--tests/ui/impl-trait/issues/issue-62742.stderr55
1 files changed, 55 insertions, 0 deletions
diff --git a/tests/ui/impl-trait/issues/issue-62742.stderr b/tests/ui/impl-trait/issues/issue-62742.stderr
new file mode 100644
index 000000000..d872291c8
--- /dev/null
+++ b/tests/ui/impl-trait/issues/issue-62742.stderr
@@ -0,0 +1,55 @@
+error[E0277]: the trait bound `RawImpl<_>: Raw<_>` is not satisfied
+ --> $DIR/issue-62742.rs:4:5
+ |
+LL | WrongImpl::foo(0i32);
+ | ^^^^^^^^^ the trait `Raw<_>` is not implemented for `RawImpl<_>`
+ |
+ = help: the trait `Raw<[T]>` is implemented for `RawImpl<T>`
+note: required by a bound in `SafeImpl`
+ --> $DIR/issue-62742.rs:26:35
+ |
+LL | pub struct SafeImpl<T: ?Sized, A: Raw<T>>(PhantomData<(A, T)>);
+ | ^^^^^^ required by this bound in `SafeImpl`
+
+error[E0599]: the function or associated item `foo` exists for struct `SafeImpl<(), RawImpl<()>>`, but its trait bounds were not satisfied
+ --> $DIR/issue-62742.rs:6:22
+ |
+LL | WrongImpl::<()>::foo(0i32);
+ | ^^^ function or associated item cannot be called on `SafeImpl<(), RawImpl<()>>` due to unsatisfied trait bounds
+...
+LL | pub struct RawImpl<T>(PhantomData<T>);
+ | --------------------- doesn't satisfy `RawImpl<()>: Raw<()>`
+...
+LL | pub struct SafeImpl<T: ?Sized, A: Raw<T>>(PhantomData<(A, T)>);
+ | ----------------------------------------- function or associated item `foo` not found for this struct
+ |
+note: trait bound `RawImpl<()>: Raw<()>` was not satisfied
+ --> $DIR/issue-62742.rs:28:20
+ |
+LL | impl<T: ?Sized, A: Raw<T>> SafeImpl<T, A> {
+ | ^^^^^^ --------------
+ | |
+ | unsatisfied trait bound introduced here
+note: the trait `Raw` must be implemented
+ --> $DIR/issue-62742.rs:12:1
+ |
+LL | pub trait Raw<T: ?Sized> {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^
+
+error[E0277]: the trait bound `RawImpl<()>: Raw<()>` is not satisfied
+ --> $DIR/issue-62742.rs:6:5
+ |
+LL | WrongImpl::<()>::foo(0i32);
+ | ^^^^^^^^^^^^^^^ the trait `Raw<()>` is not implemented for `RawImpl<()>`
+ |
+ = help: the trait `Raw<[T]>` is implemented for `RawImpl<T>`
+note: required by a bound in `SafeImpl`
+ --> $DIR/issue-62742.rs:26:35
+ |
+LL | pub struct SafeImpl<T: ?Sized, A: Raw<T>>(PhantomData<(A, T)>);
+ | ^^^^^^ required by this bound in `SafeImpl`
+
+error: aborting due to 3 previous errors
+
+Some errors have detailed explanations: E0277, E0599.
+For more information about an error, try `rustc --explain E0277`.