error[E0412]: cannot find type `PhantomData` in this scope --> $DIR/ice-6252.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/ice-6252.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[E0046]: not all trait items implemented, missing: `VAL` --> $DIR/ice-6252.rs:11:1 | LL | const VAL: T; | ------------- `VAL` from trait ... LL | impl TypeVal for Multiply where N: TypeVal {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `VAL` in implementation error: any use of this value will cause an error --> $DIR/ice-6252.rs:5:5 | LL | const VAL: T; | ^^^^^^^^^^^^^ no MIR body is available for DefId(0:5 ~ ice_6252[317d]::TypeVal::VAL) | = note: `#[deny(const_err)]` on by default error[E0080]: evaluation of constant value failed --> $DIR/ice-6252.rs:14:9 | LL | [1; >::VAL]; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ referenced constant has errors error: aborting due to 5 previous errors Some errors have detailed explanations: E0046, E0080, E0412. For more information about an error, try `rustc --explain E0046`.