use rustc::session::Session;
-use syntax_pos::Span;
-use errors::{Applicability, DiagnosticId, DiagnosticBuilder};
use rustc::ty::{Ty, TypeFoldable};
-
-use rustc_error_codes::*;
+use rustc_errors::{Applicability, DiagnosticBuilder, DiagnosticId};
+use rustc_span::Span;
pub trait StructuredDiagnostic<'tcx> {
fn session(&self) -> &Session;
fn diagnostic(&self) -> DiagnosticBuilder<'tcx> {
let err = self.common();
- if self.session().teach(&self.code()) {
- self.extended(err)
- } else {
- self.regular(err)
- }
+ if self.session().teach(&self.code()) { self.extended(err) } else { self.regular(err) }
}
fn regular(&self, err: DiagnosticBuilder<'tcx>) -> DiagnosticBuilder<'tcx> {
}
impl<'tcx> VariadicError<'tcx> {
- pub fn new(sess: &'tcx Session,
- span: Span,
- t: Ty<'tcx>,
- cast_ty: &'tcx str) -> VariadicError<'tcx> {
+ pub fn new(
+ sess: &'tcx Session,
+ span: Span,
+ t: Ty<'tcx>,
+ cast_ty: &'tcx str,
+ ) -> VariadicError<'tcx> {
VariadicError { sess, span, t, cast_ty }
}
}
impl<'tcx> StructuredDiagnostic<'tcx> for VariadicError<'tcx> {
- fn session(&self) -> &Session { self.sess }
+ fn session(&self) -> &Session {
+ self.sess
+ }
fn code(&self) -> DiagnosticId {
- syntax::diagnostic_used!(E0617);
- DiagnosticId::Error("E0617".to_owned())
+ rustc_errors::error_code!(E0617)
}
fn common(&self) -> DiagnosticBuilder<'tcx> {
}
fn extended(&self, mut err: DiagnosticBuilder<'tcx>) -> DiagnosticBuilder<'tcx> {
- err.note(&format!("certain types, like `{}`, must be cast before passing them to a \
+ err.note(&format!(
+ "certain types, like `{}`, must be cast before passing them to a \
variadic function, because of arcane ABI rules dictated by the C \
standard",
- self.t));
+ self.t
+ ));
err
}
}
}
impl<'tcx> SizedUnsizedCastError<'tcx> {
- pub fn new(sess: &'tcx Session,
- span: Span,
- expr_ty: Ty<'tcx>,
- cast_ty: String) -> SizedUnsizedCastError<'tcx> {
+ pub fn new(
+ sess: &'tcx Session,
+ span: Span,
+ expr_ty: Ty<'tcx>,
+ cast_ty: String,
+ ) -> SizedUnsizedCastError<'tcx> {
SizedUnsizedCastError { sess, span, expr_ty, cast_ty }
}
}
impl<'tcx> StructuredDiagnostic<'tcx> for SizedUnsizedCastError<'tcx> {
- fn session(&self) -> &Session { self.sess }
+ fn session(&self) -> &Session {
+ self.sess
+ }
fn code(&self) -> DiagnosticId {
- syntax::diagnostic_used!(E0607);
- DiagnosticId::Error("E0607".to_owned())
+ rustc_errors::error_code!(E0607)
}
fn common(&self) -> DiagnosticBuilder<'tcx> {
} else {
self.sess.struct_span_fatal_with_code(
self.span,
- &format!("cannot cast thin pointer `{}` to fat pointer `{}`",
- self.expr_ty,
- self.cast_ty),
+ &format!(
+ "cannot cast thin pointer `{}` to fat pointer `{}`",
+ self.expr_ty, self.cast_ty
+ ),
self.code(),
)
}
pointers.
For more information about casts, take a look at The Book:
-https://doc.rust-lang.org/reference/expressions/operator-expr.html#type-cast-expressions");
+https://doc.rust-lang.org/reference/expressions/operator-expr.html#type-cast-expressions",
+ );
err
}
}