pub(crate) fn report_unexpected_variant_res( tcx: TyCtxt<'_>, res: Res, expr: Option<&Expr<'_>>, qpath: &QPath<'_>, span: Span, err_code: ErrCode, expected: &str, ) -> ErrorGuaranteed