1 use rustc_macros::Diagnostic;
2 use rustc_session::config::CrateType;
3 use rustc_span::{Span, Symbol};
4 use rustc_target::spec::TargetTriple;
10 #[diag(interface_ferris_identifier)]
11 pub struct FerrisIdentifier {
14 #[suggestion(code = "ferris", applicability = "maybe-incorrect")]
19 #[diag(interface_emoji_identifier)]
20 pub struct EmojiIdentifier {
27 #[diag(interface_mixed_bin_crate)]
28 pub struct MixedBinCrate;
31 #[diag(interface_mixed_proc_macro_crate)]
32 pub struct MixedProcMacroCrate;
35 #[diag(interface_proc_macro_doc_without_arg)]
36 pub struct ProcMacroDocWithoutArg;
39 #[diag(interface_error_writing_dependencies)]
40 pub struct ErrorWritingDependencies<'a> {
46 #[diag(interface_input_file_would_be_overwritten)]
47 pub struct InputFileWouldBeOverWritten<'a> {
52 #[diag(interface_generated_file_conflicts_with_directory)]
53 pub struct GeneratedFileConflictsWithDirectory<'a> {
54 pub input_path: &'a Path,
55 pub dir_path: &'a Path,
59 #[diag(interface_temps_dir_error)]
60 pub struct TempsDirError;
63 #[diag(interface_out_dir_error)]
64 pub struct OutDirError;
67 #[diag(interface_cant_emit_mir)]
68 pub struct CantEmitMIR {
73 #[diag(interface_rustc_error_fatal)]
74 pub struct RustcErrorFatal {
80 #[diag(interface_rustc_error_unexpected_annotation)]
81 pub struct RustcErrorUnexpectedAnnotation {
87 #[diag(interface_failed_writing_file)]
88 pub struct FailedWritingFile<'a> {
94 #[diag(interface_proc_macro_crate_panic_abort)]
95 pub struct ProcMacroCratePanicAbort;
98 #[diag(interface_unsupported_crate_type_for_target)]
99 pub struct UnsupportedCrateTypeForTarget<'a> {
100 pub crate_type: CrateType,
101 pub target_triple: &'a TargetTriple,
104 #[derive(Diagnostic)]
105 #[diag(interface_multiple_output_types_adaption)]
106 pub struct MultipleOutputTypesAdaption;
108 #[derive(Diagnostic)]
109 #[diag(interface_ignoring_extra_filename)]
110 pub struct IgnoringExtraFilename;
112 #[derive(Diagnostic)]
113 #[diag(interface_ignoring_out_dir)]
114 pub struct IgnoringOutDir;