1 error[E0412]: cannot find type `PhantomData` in this scope
2 --> $DIR/issue-78372.rs:2:23
4 LL | struct Smaht<T, MISC>(PhantomData);
5 | ^^^^^^^^^^^ not found in this scope
7 help: consider importing this struct
9 LL | use std::marker::PhantomData;
12 error[E0412]: cannot find type `U` in this scope
13 --> $DIR/issue-78372.rs:3:31
15 LL | impl<T> DispatchFromDyn<Smaht<U, MISC>> for T {}
18 | similarly named type parameter `T` defined here
20 help: a type parameter with a similar name exists
22 LL | impl<T> DispatchFromDyn<Smaht<T, MISC>> for T {}
24 help: you might be missing a type parameter
26 LL | impl<T, U> DispatchFromDyn<Smaht<U, MISC>> for T {}
29 error[E0412]: cannot find type `MISC` in this scope
30 --> $DIR/issue-78372.rs:3:34
32 LL | impl<T> DispatchFromDyn<Smaht<U, MISC>> for T {}
33 | - ^^^^ not found in this scope
35 | help: you might be missing a type parameter: `, MISC`
37 error[E0658]: use of unstable library feature 'dispatch_from_dyn'
38 --> $DIR/issue-78372.rs:1:5
40 LL | use std::ops::DispatchFromDyn;
41 | ^^^^^^^^^^^^^^^^^^^^^^^^^
43 = help: add `#![feature(dispatch_from_dyn)]` to the crate attributes to enable
45 error[E0658]: use of unstable library feature 'dispatch_from_dyn'
46 --> $DIR/issue-78372.rs:3:9
48 LL | impl<T> DispatchFromDyn<Smaht<U, MISC>> for T {}
49 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
51 = help: add `#![feature(dispatch_from_dyn)]` to the crate attributes to enable
53 error[E0210]: type parameter `T` must be covered by another type when it appears before the first local type (`Smaht<[type error], [type error]>`)
54 --> $DIR/issue-78372.rs:3:6
56 LL | impl<T> DispatchFromDyn<Smaht<U, MISC>> for T {}
57 | ^ type parameter `T` must be covered by another type when it appears before the first local type (`Smaht<[type error], [type error]>`)
59 = note: implementing a foreign trait is only possible if at least one of the types for which it is implemented is local, and no uncovered type parameters appear before that first local type
60 = note: in this case, 'before' refers to the following order: `impl<..> ForeignTrait<T1, ..., Tn> for T0`, where `T0` is the first and `Tn` is the last
62 error[E0378]: the trait `DispatchFromDyn` may only be implemented for a coercion between structures
63 --> $DIR/issue-78372.rs:3:1
65 LL | impl<T> DispatchFromDyn<Smaht<U, MISC>> for T {}
66 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
68 error: aborting due to 7 previous errors
70 Some errors have detailed explanations: E0210, E0378, E0412, E0658.
71 For more information about an error, try `rustc --explain E0210`.