pub(crate) fn placeholder_type_error<'tcx>( tcx: TyCtxt<'tcx>, generics: Option<&Generics<'_>>, placeholder_types: Vec<Span>, suggest: bool, hir_ty: Option<&Ty<'_>>, kind: &'static str )
If there are any placeholder types (
_), emit an error explaining that this is not allowed
and suggest adding type parameters in the appropriate place, taking into consideration any and
all already existing generic type parameters to avoid suggesting a name that is already in use.