pub(crate) fn placeholder_type_error_diag<'tcx>( tcx: TyCtxt<'tcx>, generics: Option<&Generics<'_>>, placeholder_types: Vec<Span>, additional_spans: Vec<Span>, suggest: bool, hir_ty: Option<&Ty<'_>>, kind: &'static str) -> DiagnosticBuilder<'tcx, ErrorGuaranteed>