// check-pass use std::marker::PhantomData; pub struct MyGenericType { _marker: PhantomData<*const T>, } pub struct MyNonGenericType; impl From> for MyNonGenericType { fn from(_: MyGenericType) -> Self { todo!() } } pub trait MyTrait { const MY_CONSTANT: i32; } impl MyTrait for MyGenericType where Self: Into, { const MY_CONSTANT: i32 = 1; } impl MyGenericType { const MY_OTHER_CONSTANT: i32 = as MyTrait>::MY_CONSTANT; } fn main() {}