1 use rustc_macros::SessionDiagnostic;
2 use rustc_span::{Span, Symbol};
7 #[derive(SessionDiagnostic)]
8 #[diag(interface::ferris_identifier)]
9 pub struct FerrisIdentifier {
12 #[suggestion(code = "ferris", applicability = "maybe-incorrect")]
16 #[derive(SessionDiagnostic)]
17 #[diag(interface::emoji_identifier)]
18 pub struct EmojiIdentifier {
24 #[derive(SessionDiagnostic)]
25 #[diag(interface::mixed_bin_crate)]
26 pub struct MixedBinCrate;
28 #[derive(SessionDiagnostic)]
29 #[diag(interface::mixed_proc_macro_crate)]
30 pub struct MixedProcMacroCrate;
32 #[derive(SessionDiagnostic)]
33 #[diag(interface::proc_macro_doc_without_arg)]
34 pub struct ProcMacroDocWithoutArg;
36 #[derive(SessionDiagnostic)]
37 #[diag(interface::error_writing_dependencies)]
38 pub struct ErrorWritingDependencies<'a> {
43 #[derive(SessionDiagnostic)]
44 #[diag(interface::input_file_would_be_overwritten)]
45 pub struct InputFileWouldBeOverWritten<'a> {
49 #[derive(SessionDiagnostic)]
50 #[diag(interface::generated_file_conflicts_with_directory)]
51 pub struct GeneratedFileConflictsWithDirectory<'a> {
52 pub input_path: &'a Path,
53 pub dir_path: &'a Path,
56 #[derive(SessionDiagnostic)]
57 #[diag(interface::temps_dir_error)]
58 pub struct TempsDirError;
60 #[derive(SessionDiagnostic)]
61 #[diag(interface::out_dir_error)]
62 pub struct OutDirError;
64 #[derive(SessionDiagnostic)]
65 #[diag(interface::cant_emit_mir)]
66 pub struct CantEmitMIR {
70 #[derive(SessionDiagnostic)]
71 #[diag(interface::rustc_error_fatal)]
72 pub struct RustcErrorFatal {
77 #[derive(SessionDiagnostic)]
78 #[diag(interface::rustc_error_unexpected_annotation)]
79 pub struct RustcErrorUnexpectedAnnotation {
84 #[derive(SessionDiagnostic)]
85 #[diag(interface::failed_writing_file)]
86 pub struct FailedWritingFile<'a> {