error[E0282]: type annotations needed for `B<T>` --> $DIR/issue-17551.rs:6:9 | LL | let foo = B(marker::PhantomData); | ^^^ | help: consider giving `foo` an explicit type, where the type for type parameter `T` is specified | LL | let foo: B<T> = B(marker::PhantomData); | ++++++ error: aborting due to previous error For more information about this error, try `rustc --explain E0282`.