]> git.proxmox.com Git - rustc.git/blame - compiler/rustc_interface/src/errors.rs
New upstream version 1.68.2+dfsg1
[rustc.git] / compiler / rustc_interface / src / errors.rs
CommitLineData
2b03887a 1use rustc_macros::Diagnostic;
f2b60f7d
FG
2use rustc_span::{Span, Symbol};
3
4use std::io;
5use std::path::Path;
6
2b03887a
FG
7#[derive(Diagnostic)]
8#[diag(interface_ferris_identifier)]
f2b60f7d
FG
9pub struct FerrisIdentifier {
10 #[primary_span]
11 pub spans: Vec<Span>,
12 #[suggestion(code = "ferris", applicability = "maybe-incorrect")]
13 pub first_span: Span,
14}
15
2b03887a
FG
16#[derive(Diagnostic)]
17#[diag(interface_emoji_identifier)]
f2b60f7d
FG
18pub struct EmojiIdentifier {
19 #[primary_span]
20 pub spans: Vec<Span>,
21 pub ident: Symbol,
22}
23
2b03887a
FG
24#[derive(Diagnostic)]
25#[diag(interface_mixed_bin_crate)]
f2b60f7d
FG
26pub struct MixedBinCrate;
27
2b03887a
FG
28#[derive(Diagnostic)]
29#[diag(interface_mixed_proc_macro_crate)]
f2b60f7d
FG
30pub struct MixedProcMacroCrate;
31
2b03887a
FG
32#[derive(Diagnostic)]
33#[diag(interface_proc_macro_doc_without_arg)]
f2b60f7d
FG
34pub struct ProcMacroDocWithoutArg;
35
2b03887a
FG
36#[derive(Diagnostic)]
37#[diag(interface_error_writing_dependencies)]
f2b60f7d
FG
38pub struct ErrorWritingDependencies<'a> {
39 pub path: &'a Path,
40 pub error: io::Error,
41}
42
2b03887a
FG
43#[derive(Diagnostic)]
44#[diag(interface_input_file_would_be_overwritten)]
f2b60f7d
FG
45pub struct InputFileWouldBeOverWritten<'a> {
46 pub path: &'a Path,
47}
48
2b03887a
FG
49#[derive(Diagnostic)]
50#[diag(interface_generated_file_conflicts_with_directory)]
f2b60f7d
FG
51pub struct GeneratedFileConflictsWithDirectory<'a> {
52 pub input_path: &'a Path,
53 pub dir_path: &'a Path,
54}
55
2b03887a
FG
56#[derive(Diagnostic)]
57#[diag(interface_temps_dir_error)]
f2b60f7d
FG
58pub struct TempsDirError;
59
2b03887a
FG
60#[derive(Diagnostic)]
61#[diag(interface_out_dir_error)]
f2b60f7d
FG
62pub struct OutDirError;
63
2b03887a
FG
64#[derive(Diagnostic)]
65#[diag(interface_cant_emit_mir)]
f2b60f7d
FG
66pub struct CantEmitMIR {
67 pub error: io::Error,
68}
69
2b03887a
FG
70#[derive(Diagnostic)]
71#[diag(interface_rustc_error_fatal)]
f2b60f7d
FG
72pub struct RustcErrorFatal {
73 #[primary_span]
74 pub span: Span,
75}
76
2b03887a
FG
77#[derive(Diagnostic)]
78#[diag(interface_rustc_error_unexpected_annotation)]
f2b60f7d
FG
79pub struct RustcErrorUnexpectedAnnotation {
80 #[primary_span]
81 pub span: Span,
82}
83
2b03887a
FG
84#[derive(Diagnostic)]
85#[diag(interface_failed_writing_file)]
f2b60f7d
FG
86pub struct FailedWritingFile<'a> {
87 pub path: &'a Path,
88 pub error: io::Error,
89}
9c376795
FG
90
91#[derive(Diagnostic)]
92#[diag(interface_proc_macro_crate_panic_abort)]
93pub struct ProcMacroCratePanicAbort;