error[E0412]: cannot find type `PhantomData` in this scope --> $DIR/issue-77919.rs:9:9 | LL | _n: PhantomData, | ^^^^^^^^^^^ not found in this scope | help: consider importing this struct | LL | use std::marker::PhantomData; | error[E0412]: cannot find type `VAL` in this scope --> $DIR/issue-77919.rs:11:63 | LL | impl TypeVal for Multiply where N: TypeVal {} | - ^^^ not found in this scope | | | help: you might be missing a type parameter: `, VAL` error[E0283]: type annotations needed --> $DIR/issue-77919.rs:11:12 | LL | impl TypeVal for Multiply where N: TypeVal {} | ^^^^^^^^^^^^^^ cannot infer type for struct `Multiply` | = note: cannot satisfy `Multiply: TypeVal` error: aborting due to 3 previous errors Some errors have detailed explanations: E0283, E0412. For more information about an error, try `rustc --explain E0283`.