summaryrefslogtreecommitdiffstats
path: root/src/test/ui/traits/inductive-overflow/two-traits.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/traits/inductive-overflow/two-traits.stderr')
-rw-r--r--src/test/ui/traits/inductive-overflow/two-traits.stderr32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/test/ui/traits/inductive-overflow/two-traits.stderr b/src/test/ui/traits/inductive-overflow/two-traits.stderr
new file mode 100644
index 000000000..0d0bf8861
--- /dev/null
+++ b/src/test/ui/traits/inductive-overflow/two-traits.stderr
@@ -0,0 +1,32 @@
+error[E0277]: `T` cannot be shared between threads safely
+ --> $DIR/two-traits.rs:11:14
+ |
+LL | type X = Self;
+ | ^^^^ `T` cannot be shared between threads safely
+ |
+note: required by a bound in `Magic::X`
+ --> $DIR/two-traits.rs:8:13
+ |
+LL | type X: Trait;
+ | ^^^^^ required by this bound in `Magic::X`
+help: consider further restricting this bound
+ |
+LL | impl<T: Magic + std::marker::Sync> Magic for T {
+ | +++++++++++++++++++
+
+error[E0275]: overflow evaluating the requirement `*mut (): Magic`
+ --> $DIR/two-traits.rs:20:5
+ |
+LL | wizard::<*mut ()>();
+ | ^^^^^^^^^^^^^^^^^
+ |
+note: required by a bound in `wizard`
+ --> $DIR/two-traits.rs:17:14
+ |
+LL | fn wizard<T: Magic>() { check::<<T as Magic>::X>(); }
+ | ^^^^^ required by this bound in `wizard`
+
+error: aborting due to 2 previous errors
+
+Some errors have detailed explanations: E0275, E0277.
+For more information about an error, try `rustc --explain E0275`.