1use std::io::Error;
2use std::path::{Path, PathBuf};
3
4use rustc_errors::codes::*;
5use rustc_errors::{Diag, DiagCtxtHandle, Diagnostic, EmissionGuarantee, Level};
6use rustc_macros::{Diagnostic, Subdiagnostic};
7use rustc_span::{Span, Symbol, sym};
8use rustc_target::spec::{PanicStrategy, TargetTuple};
9
10use crate::fluent_generated as fluent;
11use crate::locator::CrateFlavor;
12
13#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for RlibRequired
where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
RlibRequired { crate_name: __binding_0 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_rlib_required);
;
diag.arg("crate_name", __binding_0);
diag
}
}
}
}
};Diagnostic)]
14#[diag(metadata_rlib_required)]
15pub struct RlibRequired {
16 pub crate_name: Symbol,
17}
18
19#[derive(const _: () =
{
impl<'_sess, 'a, G> rustc_errors::Diagnostic<'_sess, G> for
LibRequired<'a> where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
LibRequired { crate_name: __binding_0, kind: __binding_1 }
=> {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_lib_required);
;
diag.arg("crate_name", __binding_0);
diag.arg("kind", __binding_1);
diag
}
}
}
}
};Diagnostic)]
20#[diag(metadata_lib_required)]
21pub struct LibRequired<'a> {
22 pub crate_name: Symbol,
23 pub kind: &'a str,
24}
25
26#[derive(const _: () =
{
impl<'_sess, 'a, G> rustc_errors::Diagnostic<'_sess, G> for
RustcLibRequired<'a> where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
RustcLibRequired {
crate_name: __binding_0, kind: __binding_1 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_rustc_lib_required);
diag.help(crate::fluent_generated::_subdiag::help);
;
diag.arg("crate_name", __binding_0);
diag.arg("kind", __binding_1);
diag
}
}
}
}
};Diagnostic)]
27#[diag(metadata_rustc_lib_required)]
28#[help]
29pub struct RustcLibRequired<'a> {
30 pub crate_name: Symbol,
31 pub kind: &'a str,
32}
33
34#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
CrateDepMultiple where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
CrateDepMultiple {
crate_name: __binding_0,
non_static_deps: __binding_1,
rustc_driver_help: __binding_2 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_crate_dep_multiple);
diag.help(crate::fluent_generated::_subdiag::help);
;
diag.arg("crate_name", __binding_0);
for __binding_1 in __binding_1 {
diag.subdiagnostic(__binding_1);
}
if let Some(__binding_2) = __binding_2 {
diag.subdiagnostic(__binding_2);
}
diag
}
}
}
}
};Diagnostic)]
35#[diag(metadata_crate_dep_multiple)]
36#[help]
37pub struct CrateDepMultiple {
38 pub crate_name: Symbol,
39 #[subdiagnostic]
40 pub non_static_deps: Vec<NonStaticCrateDep>,
41 #[subdiagnostic]
42 pub rustc_driver_help: Option<RustcDriverHelp>,
43}
44
45#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for NonStaticCrateDep {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
NonStaticCrateDep { crate_name_: __binding_0 } => {
diag.store_args();
diag.arg("crate_name_", __binding_0);
let __message =
diag.eagerly_translate(crate::fluent_generated::metadata_crate_dep_not_static);
diag.note(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
46#[note(metadata_crate_dep_not_static)]
47pub struct NonStaticCrateDep {
48 pub crate_name_: Symbol,
50}
51
52#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for RustcDriverHelp {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
RustcDriverHelp => {
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::metadata_crate_dep_rustc_driver);
diag.help(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
53#[help(metadata_crate_dep_rustc_driver)]
54pub struct RustcDriverHelp;
55
56#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
TwoPanicRuntimes where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
TwoPanicRuntimes {
prev_name: __binding_0, cur_name: __binding_1 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_two_panic_runtimes);
;
diag.arg("prev_name", __binding_0);
diag.arg("cur_name", __binding_1);
diag
}
}
}
}
};Diagnostic)]
57#[diag(metadata_two_panic_runtimes)]
58pub struct TwoPanicRuntimes {
59 pub prev_name: Symbol,
60 pub cur_name: Symbol,
61}
62
63#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
BadPanicStrategy where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
BadPanicStrategy {
runtime: __binding_0, strategy: __binding_1 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_bad_panic_strategy);
;
diag.arg("runtime", __binding_0);
diag.arg("strategy", __binding_1);
diag
}
}
}
}
};Diagnostic)]
64#[diag(metadata_bad_panic_strategy)]
65pub struct BadPanicStrategy {
66 pub runtime: Symbol,
67 pub strategy: PanicStrategy,
68}
69
70#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
RequiredPanicStrategy where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
RequiredPanicStrategy {
crate_name: __binding_0,
found_strategy: __binding_1,
desired_strategy: __binding_2 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_required_panic_strategy);
;
diag.arg("crate_name", __binding_0);
diag.arg("found_strategy", __binding_1);
diag.arg("desired_strategy", __binding_2);
diag
}
}
}
}
};Diagnostic)]
71#[diag(metadata_required_panic_strategy)]
72pub struct RequiredPanicStrategy {
73 pub crate_name: Symbol,
74 pub found_strategy: PanicStrategy,
75 pub desired_strategy: PanicStrategy,
76}
77
78#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
IncompatibleWithImmediateAbort where
G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
IncompatibleWithImmediateAbort { crate_name: __binding_0 }
=> {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_incompatible_with_immediate_abort);
;
diag.arg("crate_name", __binding_0);
diag
}
}
}
}
};Diagnostic)]
79#[diag(metadata_incompatible_with_immediate_abort)]
80pub struct IncompatibleWithImmediateAbort {
81 pub crate_name: Symbol,
82}
83
84#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
IncompatibleWithImmediateAbortCore where
G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
IncompatibleWithImmediateAbortCore => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_incompatible_with_immediate_abort_core);
;
diag
}
}
}
}
};Diagnostic)]
85#[diag(metadata_incompatible_with_immediate_abort_core)]
86pub struct IncompatibleWithImmediateAbortCore;
87
88#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
IncompatiblePanicInDropStrategy where
G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
IncompatiblePanicInDropStrategy {
crate_name: __binding_0,
found_strategy: __binding_1,
desired_strategy: __binding_2 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_incompatible_panic_in_drop_strategy);
;
diag.arg("crate_name", __binding_0);
diag.arg("found_strategy", __binding_1);
diag.arg("desired_strategy", __binding_2);
diag
}
}
}
}
};Diagnostic)]
89#[diag(metadata_incompatible_panic_in_drop_strategy)]
90pub struct IncompatiblePanicInDropStrategy {
91 pub crate_name: Symbol,
92 pub found_strategy: PanicStrategy,
93 pub desired_strategy: PanicStrategy,
94}
95
96#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
LinkOrdinalRawDylib where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
LinkOrdinalRawDylib { span: __binding_0 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_link_ordinal_raw_dylib);
;
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
97#[diag(metadata_link_ordinal_raw_dylib)]
98pub struct LinkOrdinalRawDylib {
99 #[primary_span]
100 pub span: Span,
101}
102
103#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
LibFrameworkApple where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
LibFrameworkApple => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_lib_framework_apple);
;
diag
}
}
}
}
};Diagnostic)]
104#[diag(metadata_lib_framework_apple)]
105pub struct LibFrameworkApple;
106
107#[derive(const _: () =
{
impl<'_sess, 'a, G> rustc_errors::Diagnostic<'_sess, G> for
EmptyRenamingTarget<'a> where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
EmptyRenamingTarget { lib_name: __binding_0 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_empty_renaming_target);
;
diag.arg("lib_name", __binding_0);
diag
}
}
}
}
};Diagnostic)]
108#[diag(metadata_empty_renaming_target)]
109pub struct EmptyRenamingTarget<'a> {
110 pub lib_name: &'a str,
111}
112
113#[derive(const _: () =
{
impl<'_sess, 'a, G> rustc_errors::Diagnostic<'_sess, G> for
RenamingNoLink<'a> where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
RenamingNoLink { lib_name: __binding_0 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_renaming_no_link);
;
diag.arg("lib_name", __binding_0);
diag
}
}
}
}
};Diagnostic)]
114#[diag(metadata_renaming_no_link)]
115pub struct RenamingNoLink<'a> {
116 pub lib_name: &'a str,
117}
118
119#[derive(const _: () =
{
impl<'_sess, 'a, G> rustc_errors::Diagnostic<'_sess, G> for
MultipleRenamings<'a> where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
MultipleRenamings { lib_name: __binding_0 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_multiple_renamings);
;
diag.arg("lib_name", __binding_0);
diag
}
}
}
}
};Diagnostic)]
120#[diag(metadata_multiple_renamings)]
121pub struct MultipleRenamings<'a> {
122 pub lib_name: &'a str,
123}
124
125#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
NoLinkModOverride where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
NoLinkModOverride { span: __binding_0 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_no_link_mod_override);
;
if let Some(__binding_0) = __binding_0 {
diag.span(__binding_0);
}
diag
}
}
}
}
};Diagnostic)]
126#[diag(metadata_no_link_mod_override)]
127pub struct NoLinkModOverride {
128 #[primary_span]
129 pub span: Option<Span>,
130}
131
132#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
RawDylibUnsupportedAbi where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
RawDylibUnsupportedAbi { span: __binding_0 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_raw_dylib_unsupported_abi);
;
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
133#[diag(metadata_raw_dylib_unsupported_abi)]
134pub struct RawDylibUnsupportedAbi {
135 #[primary_span]
136 pub span: Span,
137}
138
139#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
FailCreateFileEncoder where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
FailCreateFileEncoder { err: __binding_0 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_fail_create_file_encoder);
;
diag.arg("err", __binding_0);
diag
}
}
}
}
};Diagnostic)]
140#[diag(metadata_fail_create_file_encoder)]
141pub struct FailCreateFileEncoder {
142 pub err: Error,
143}
144
145#[derive(const _: () =
{
impl<'_sess, 'a, G> rustc_errors::Diagnostic<'_sess, G> for
FailWriteFile<'a> where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
FailWriteFile { path: __binding_0, err: __binding_1 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_fail_write_file);
;
diag.arg("path", __binding_0);
diag.arg("err", __binding_1);
diag
}
}
}
}
};Diagnostic)]
146#[diag(metadata_fail_write_file)]
147pub struct FailWriteFile<'a> {
148 pub path: &'a Path,
149 pub err: Error,
150}
151
152#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
CrateNotPanicRuntime where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
CrateNotPanicRuntime { crate_name: __binding_0 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_crate_not_panic_runtime);
;
diag.arg("crate_name", __binding_0);
diag
}
}
}
}
};Diagnostic)]
153#[diag(metadata_crate_not_panic_runtime)]
154pub struct CrateNotPanicRuntime {
155 pub crate_name: Symbol,
156}
157
158#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
CrateNotCompilerBuiltins where G: rustc_errors::EmissionGuarantee
{
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
CrateNotCompilerBuiltins { crate_name: __binding_0 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_crate_not_compiler_builtins);
;
diag.arg("crate_name", __binding_0);
diag
}
}
}
}
};Diagnostic)]
159#[diag(metadata_crate_not_compiler_builtins)]
160pub struct CrateNotCompilerBuiltins {
161 pub crate_name: Symbol,
162}
163
164#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
NoPanicStrategy where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
NoPanicStrategy {
crate_name: __binding_0, strategy: __binding_1 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_no_panic_strategy);
;
diag.arg("crate_name", __binding_0);
diag.arg("strategy", __binding_1);
diag
}
}
}
}
};Diagnostic)]
165#[diag(metadata_no_panic_strategy)]
166pub struct NoPanicStrategy {
167 pub crate_name: Symbol,
168 pub strategy: PanicStrategy,
169}
170
171#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
NotProfilerRuntime where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
NotProfilerRuntime { crate_name: __binding_0 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_not_profiler_runtime);
;
diag.arg("crate_name", __binding_0);
diag
}
}
}
}
};Diagnostic)]
172#[diag(metadata_not_profiler_runtime)]
173pub struct NotProfilerRuntime {
174 pub crate_name: Symbol,
175}
176
177#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
NoMultipleGlobalAlloc where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
NoMultipleGlobalAlloc {
span2: __binding_0, span1: __binding_1 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_no_multiple_global_alloc);
;
diag.span(__binding_0);
diag.span_label(__binding_0,
crate::fluent_generated::_subdiag::label);
diag.span_label(__binding_1,
crate::fluent_generated::metadata_prev_global_alloc);
diag
}
}
}
}
};Diagnostic)]
178#[diag(metadata_no_multiple_global_alloc)]
179pub struct NoMultipleGlobalAlloc {
180 #[primary_span]
181 #[label]
182 pub span2: Span,
183 #[label(metadata_prev_global_alloc)]
184 pub span1: Span,
185}
186
187#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
NoMultipleAllocErrorHandler where
G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
NoMultipleAllocErrorHandler {
span2: __binding_0, span1: __binding_1 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_no_multiple_alloc_error_handler);
;
diag.span(__binding_0);
diag.span_label(__binding_0,
crate::fluent_generated::_subdiag::label);
diag.span_label(__binding_1,
crate::fluent_generated::metadata_prev_alloc_error_handler);
diag
}
}
}
}
};Diagnostic)]
188#[diag(metadata_no_multiple_alloc_error_handler)]
189pub struct NoMultipleAllocErrorHandler {
190 #[primary_span]
191 #[label]
192 pub span2: Span,
193 #[label(metadata_prev_alloc_error_handler)]
194 pub span1: Span,
195}
196
197#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
ConflictingGlobalAlloc where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
ConflictingGlobalAlloc {
crate_name: __binding_0, other_crate_name: __binding_1 } =>
{
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_conflicting_global_alloc);
;
diag.arg("crate_name", __binding_0);
diag.arg("other_crate_name", __binding_1);
diag
}
}
}
}
};Diagnostic)]
198#[diag(metadata_conflicting_global_alloc)]
199pub struct ConflictingGlobalAlloc {
200 pub crate_name: Symbol,
201 pub other_crate_name: Symbol,
202}
203
204#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
ConflictingAllocErrorHandler where
G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
ConflictingAllocErrorHandler {
crate_name: __binding_0, other_crate_name: __binding_1 } =>
{
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_conflicting_alloc_error_handler);
;
diag.arg("crate_name", __binding_0);
diag.arg("other_crate_name", __binding_1);
diag
}
}
}
}
};Diagnostic)]
205#[diag(metadata_conflicting_alloc_error_handler)]
206pub struct ConflictingAllocErrorHandler {
207 pub crate_name: Symbol,
208 pub other_crate_name: Symbol,
209}
210
211#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
GlobalAllocRequired where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
GlobalAllocRequired => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_global_alloc_required);
;
diag
}
}
}
}
};Diagnostic)]
212#[diag(metadata_global_alloc_required)]
213pub struct GlobalAllocRequired;
214
215#[derive(const _: () =
{
impl<'_sess, 'a, G> rustc_errors::Diagnostic<'_sess, G> for
NoTransitiveNeedsDep<'a> where G: rustc_errors::EmissionGuarantee
{
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
NoTransitiveNeedsDep {
crate_name: __binding_0,
needs_crate_name: __binding_1,
deps_crate_name: __binding_2 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_no_transitive_needs_dep);
;
diag.arg("crate_name", __binding_0);
diag.arg("needs_crate_name", __binding_1);
diag.arg("deps_crate_name", __binding_2);
diag
}
}
}
}
};Diagnostic)]
216#[diag(metadata_no_transitive_needs_dep)]
217pub struct NoTransitiveNeedsDep<'a> {
218 pub crate_name: Symbol,
219 pub needs_crate_name: &'a str,
220 pub deps_crate_name: Symbol,
221}
222
223#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
FailedWriteError where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
FailedWriteError { filename: __binding_0, err: __binding_1 }
=> {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_failed_write_error);
;
diag.arg("filename", __binding_0);
diag.arg("err", __binding_1);
diag
}
}
}
}
};Diagnostic)]
224#[diag(metadata_failed_write_error)]
225pub struct FailedWriteError {
226 pub filename: PathBuf,
227 pub err: Error,
228}
229
230#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
FailedCopyToStdout where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
FailedCopyToStdout { filename: __binding_0, err: __binding_1
} => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_failed_copy_to_stdout);
;
diag.arg("filename", __binding_0);
diag.arg("err", __binding_1);
diag
}
}
}
}
};Diagnostic)]
231#[diag(metadata_failed_copy_to_stdout)]
232pub struct FailedCopyToStdout {
233 pub filename: PathBuf,
234 pub err: Error,
235}
236
237#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
BinaryOutputToTty where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
BinaryOutputToTty => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_binary_output_to_tty);
;
diag
}
}
}
}
};Diagnostic)]
238#[diag(metadata_binary_output_to_tty)]
239pub struct BinaryOutputToTty;
240
241#[derive(const _: () =
{
impl<'_sess, 'a, G> rustc_errors::Diagnostic<'_sess, G> for
MissingNativeLibrary<'a> where G: rustc_errors::EmissionGuarantee
{
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
MissingNativeLibrary {
libname: __binding_0, suggest_name: __binding_1 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_missing_native_library);
;
diag.arg("libname", __binding_0);
if let Some(__binding_1) = __binding_1 {
diag.subdiagnostic(__binding_1);
}
diag
}
}
}
}
};Diagnostic)]
242#[diag(metadata_missing_native_library)]
243pub struct MissingNativeLibrary<'a> {
244 libname: &'a str,
245 #[subdiagnostic]
246 suggest_name: Option<SuggestLibraryName<'a>>,
247}
248
249impl<'a> MissingNativeLibrary<'a> {
250 pub fn new(libname: &'a str, verbatim: bool) -> Self {
251 let suggested_name = if !verbatim {
254 if let Some(libname) = libname.strip_circumfix("lib", ".a") {
255 Some(libname)
257 } else if let Some(libname) = libname.strip_suffix(".lib") {
258 Some(libname)
260 } else {
261 None
262 }
263 } else {
264 None
265 };
266
267 Self {
268 libname,
269 suggest_name: suggested_name
270 .map(|suggested_name| SuggestLibraryName { suggested_name }),
271 }
272 }
273}
274
275#[derive(const _: () =
{
impl<'a> rustc_errors::Subdiagnostic for SuggestLibraryName<'a> {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
SuggestLibraryName { suggested_name: __binding_0 } => {
diag.store_args();
diag.arg("suggested_name", __binding_0);
let __message =
diag.eagerly_translate(crate::fluent_generated::metadata_only_provide_library_name);
diag.help(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
276#[help(metadata_only_provide_library_name)]
277pub struct SuggestLibraryName<'a> {
278 suggested_name: &'a str,
279}
280
281#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
FailedCreateTempdir where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
FailedCreateTempdir { err: __binding_0 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_failed_create_tempdir);
;
diag.arg("err", __binding_0);
diag
}
}
}
}
};Diagnostic)]
282#[diag(metadata_failed_create_tempdir)]
283pub struct FailedCreateTempdir {
284 pub err: Error,
285}
286
287#[derive(const _: () =
{
impl<'_sess, 'a, G> rustc_errors::Diagnostic<'_sess, G> for
FailedCreateFile<'a> where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
FailedCreateFile { filename: __binding_0, err: __binding_1 }
=> {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_failed_create_file);
;
diag.arg("filename", __binding_0);
diag.arg("err", __binding_1);
diag
}
}
}
}
};Diagnostic)]
288#[diag(metadata_failed_create_file)]
289pub struct FailedCreateFile<'a> {
290 pub filename: &'a Path,
291 pub err: Error,
292}
293
294#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
FailedCreateEncodedMetadata where
G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
FailedCreateEncodedMetadata { err: __binding_0 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_failed_create_encoded_metadata);
;
diag.arg("err", __binding_0);
diag
}
}
}
}
};Diagnostic)]
295#[diag(metadata_failed_create_encoded_metadata)]
296pub struct FailedCreateEncodedMetadata {
297 pub err: Error,
298}
299
300#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for NonAsciiName
where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
NonAsciiName { span: __binding_0, crate_name: __binding_1 }
=> {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_non_ascii_name);
;
diag.arg("crate_name", __binding_1);
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
301#[diag(metadata_non_ascii_name)]
302pub struct NonAsciiName {
303 #[primary_span]
304 pub span: Span,
305 pub crate_name: Symbol,
306}
307
308#[derive(const _: () =
{
impl<'_sess, 'a, G> rustc_errors::Diagnostic<'_sess, G> for
ExternLocationNotExist<'a> where
G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
ExternLocationNotExist {
span: __binding_0,
crate_name: __binding_1,
location: __binding_2 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_extern_location_not_exist);
;
diag.arg("crate_name", __binding_1);
diag.arg("location", __binding_2);
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
309#[diag(metadata_extern_location_not_exist)]
310pub struct ExternLocationNotExist<'a> {
311 #[primary_span]
312 pub span: Span,
313 pub crate_name: Symbol,
314 pub location: &'a Path,
315}
316
317#[derive(const _: () =
{
impl<'_sess, 'a, G> rustc_errors::Diagnostic<'_sess, G> for
ExternLocationNotFile<'a> where G: rustc_errors::EmissionGuarantee
{
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
ExternLocationNotFile {
span: __binding_0,
crate_name: __binding_1,
location: __binding_2 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_extern_location_not_file);
;
diag.arg("crate_name", __binding_1);
diag.arg("location", __binding_2);
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
318#[diag(metadata_extern_location_not_file)]
319pub struct ExternLocationNotFile<'a> {
320 #[primary_span]
321 pub span: Span,
322 pub crate_name: Symbol,
323 pub location: &'a Path,
324}
325
326pub(crate) struct MultipleCandidates {
327 pub span: Span,
328 pub flavor: CrateFlavor,
329 pub crate_name: Symbol,
330 pub candidates: Vec<PathBuf>,
331}
332
333impl<G: EmissionGuarantee> Diagnostic<'_, G> for MultipleCandidates {
334 fn into_diag(self, dcx: DiagCtxtHandle<'_>, level: Level) -> Diag<'_, G> {
335 let mut diag = Diag::new(dcx, level, fluent::metadata_multiple_candidates);
336 diag.arg("crate_name", self.crate_name);
337 diag.arg("flavor", self.flavor);
338 diag.code(E0464);
339 diag.span(self.span);
340 for (i, candidate) in self.candidates.iter().enumerate() {
341 diag.note(::alloc::__export::must_use({
::alloc::fmt::format(format_args!("candidate #{0}: {1}", i + 1,
candidate.display()))
})format!("candidate #{}: {}", i + 1, candidate.display()));
342 }
343 diag
344 }
345}
346
347#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
FullMetadataNotFound where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
FullMetadataNotFound {
span: __binding_0,
flavor: __binding_1,
crate_name: __binding_2 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_full_metadata_not_found);
;
diag.arg("flavor", __binding_1);
diag.arg("crate_name", __binding_2);
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
348#[diag(metadata_full_metadata_not_found)]
349pub(crate) struct FullMetadataNotFound {
350 #[primary_span]
351 pub span: Span,
352 pub flavor: CrateFlavor,
353 pub crate_name: Symbol,
354}
355
356#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
SymbolConflictsCurrent where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
SymbolConflictsCurrent {
span: __binding_0, crate_name: __binding_1 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_symbol_conflicts_current);
diag.code(E0519);
;
diag.arg("crate_name", __binding_1);
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
357#[diag(metadata_symbol_conflicts_current, code = E0519)]
358pub struct SymbolConflictsCurrent {
359 #[primary_span]
360 pub span: Span,
361 pub crate_name: Symbol,
362}
363
364#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
StableCrateIdCollision where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
StableCrateIdCollision {
span: __binding_0,
crate_name0: __binding_1,
crate_name1: __binding_2 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_stable_crate_id_collision);
;
diag.arg("crate_name0", __binding_1);
diag.arg("crate_name1", __binding_2);
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
365#[diag(metadata_stable_crate_id_collision)]
366pub struct StableCrateIdCollision {
367 #[primary_span]
368 pub span: Span,
369 pub crate_name0: Symbol,
370 pub crate_name1: Symbol,
371}
372
373#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for DlError where
G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
DlError {
span: __binding_0, path: __binding_1, err: __binding_2 } =>
{
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_dl_error);
;
diag.arg("path", __binding_1);
diag.arg("err", __binding_2);
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
374#[diag(metadata_dl_error)]
375pub struct DlError {
376 #[primary_span]
377 pub span: Span,
378 pub path: String,
379 pub err: String,
380}
381
382#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
NewerCrateVersion where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
NewerCrateVersion {
span: __binding_0,
crate_name: __binding_1,
add_info: __binding_2,
found_crates: __binding_3 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_newer_crate_version);
diag.code(E0460);
diag.note(crate::fluent_generated::_subdiag::note);
diag.note(crate::fluent_generated::metadata_found_crate_versions);
;
diag.arg("crate_name", __binding_1);
diag.arg("add_info", __binding_2);
diag.arg("found_crates", __binding_3);
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
383#[diag(metadata_newer_crate_version, code = E0460)]
384#[note]
385#[note(metadata_found_crate_versions)]
386pub struct NewerCrateVersion {
387 #[primary_span]
388 pub span: Span,
389 pub crate_name: Symbol,
390 pub add_info: String,
391 pub found_crates: String,
392}
393
394#[derive(const _: () =
{
impl<'_sess, 'a, G> rustc_errors::Diagnostic<'_sess, G> for
NoCrateWithTriple<'a> where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
NoCrateWithTriple {
span: __binding_0,
crate_name: __binding_1,
locator_triple: __binding_2,
add_info: __binding_3,
found_crates: __binding_4 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_no_crate_with_triple);
diag.code(E0461);
diag.note(crate::fluent_generated::metadata_found_crate_versions);
;
diag.arg("crate_name", __binding_1);
diag.arg("locator_triple", __binding_2);
diag.arg("add_info", __binding_3);
diag.arg("found_crates", __binding_4);
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
395#[diag(metadata_no_crate_with_triple, code = E0461)]
396#[note(metadata_found_crate_versions)]
397pub struct NoCrateWithTriple<'a> {
398 #[primary_span]
399 pub span: Span,
400 pub crate_name: Symbol,
401 pub locator_triple: &'a str,
402 pub add_info: String,
403 pub found_crates: String,
404}
405
406#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for FoundStaticlib
where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
FoundStaticlib {
span: __binding_0,
crate_name: __binding_1,
add_info: __binding_2,
found_crates: __binding_3 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_found_staticlib);
diag.code(E0462);
diag.note(crate::fluent_generated::metadata_found_crate_versions);
diag.help(crate::fluent_generated::_subdiag::help);
;
diag.arg("crate_name", __binding_1);
diag.arg("add_info", __binding_2);
diag.arg("found_crates", __binding_3);
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
407#[diag(metadata_found_staticlib, code = E0462)]
408#[note(metadata_found_crate_versions)]
409#[help]
410pub struct FoundStaticlib {
411 #[primary_span]
412 pub span: Span,
413 pub crate_name: Symbol,
414 pub add_info: String,
415 pub found_crates: String,
416}
417
418#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
IncompatibleRustc where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
IncompatibleRustc {
span: __binding_0,
crate_name: __binding_1,
add_info: __binding_2,
found_crates: __binding_3,
rustc_version: __binding_4 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_incompatible_rustc);
diag.code(E0514);
diag.note(crate::fluent_generated::metadata_found_crate_versions);
diag.help(crate::fluent_generated::_subdiag::help);
;
diag.arg("crate_name", __binding_1);
diag.arg("add_info", __binding_2);
diag.arg("found_crates", __binding_3);
diag.arg("rustc_version", __binding_4);
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
419#[diag(metadata_incompatible_rustc, code = E0514)]
420#[note(metadata_found_crate_versions)]
421#[help]
422pub struct IncompatibleRustc {
423 #[primary_span]
424 pub span: Span,
425 pub crate_name: Symbol,
426 pub add_info: String,
427 pub found_crates: String,
428 pub rustc_version: String,
429}
430
431pub struct InvalidMetadataFiles {
432 pub span: Span,
433 pub crate_name: Symbol,
434 pub add_info: String,
435 pub crate_rejections: Vec<String>,
436}
437
438impl<G: EmissionGuarantee> Diagnostic<'_, G> for InvalidMetadataFiles {
439 #[track_caller]
440 fn into_diag(self, dcx: DiagCtxtHandle<'_>, level: Level) -> Diag<'_, G> {
441 let mut diag = Diag::new(dcx, level, fluent::metadata_invalid_meta_files);
442 diag.arg("crate_name", self.crate_name);
443 diag.arg("add_info", self.add_info);
444 diag.code(E0786);
445 diag.span(self.span);
446 for crate_rejection in self.crate_rejections {
447 diag.note(crate_rejection);
448 }
449 diag
450 }
451}
452
453pub struct CannotFindCrate {
454 pub span: Span,
455 pub crate_name: Symbol,
456 pub add_info: String,
457 pub missing_core: bool,
458 pub current_crate: String,
459 pub is_nightly_build: bool,
460 pub profiler_runtime: Symbol,
461 pub locator_triple: TargetTuple,
462 pub is_ui_testing: bool,
463 pub is_tier_3: bool,
464}
465
466impl<G: EmissionGuarantee> Diagnostic<'_, G> for CannotFindCrate {
467 #[track_caller]
468 fn into_diag(self, dcx: DiagCtxtHandle<'_>, level: Level) -> Diag<'_, G> {
469 let mut diag = Diag::new(dcx, level, fluent::metadata_cannot_find_crate);
470 diag.arg("crate_name", self.crate_name);
471 diag.arg("current_crate", self.current_crate);
472 diag.arg("add_info", self.add_info);
473 diag.arg("locator_triple", self.locator_triple.tuple());
474 diag.code(E0463);
475 diag.span(self.span);
476 if self.crate_name == sym::std || self.crate_name == sym::core {
477 if self.missing_core {
478 diag.note(fluent::metadata_target_not_installed);
479 } else {
480 diag.note(fluent::metadata_target_no_std_support);
481 }
482
483 let has_precompiled_std = !self.is_tier_3;
484
485 if self.missing_core {
486 if "nightly"env!("CFG_RELEASE_CHANNEL") == "dev" && !self.is_ui_testing {
487 diag.help(fluent::metadata_consider_adding_std);
489 } else if has_precompiled_std {
490 diag.help(fluent::metadata_consider_downloading_target);
494 }
495 }
496
497 if !self.missing_core && self.span.is_dummy() {
502 diag.note(fluent::metadata_std_required);
503 }
504 if self.is_nightly_build || !has_precompiled_std {
507 diag.help(fluent::metadata_consider_building_std);
508 }
509 } else if self.crate_name == self.profiler_runtime {
510 diag.note(fluent::metadata_compiler_missing_profiler);
511 } else if self.crate_name.as_str().starts_with("rustc_") {
512 diag.help(fluent::metadata_install_missing_components);
513 }
514 diag.span_label(self.span, fluent::metadata_cant_find_crate);
515 diag
516 }
517}
518
519#[derive(const _: () =
{
impl<'_sess, 'a, G> rustc_errors::Diagnostic<'_sess, G> for
CrateLocationUnknownType<'a> where
G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
CrateLocationUnknownType {
span: __binding_0,
path: __binding_1,
crate_name: __binding_2 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_crate_location_unknown_type);
;
diag.arg("path", __binding_1);
diag.arg("crate_name", __binding_2);
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
520#[diag(metadata_crate_location_unknown_type)]
521pub struct CrateLocationUnknownType<'a> {
522 #[primary_span]
523 pub span: Span,
524 pub path: &'a Path,
525 pub crate_name: Symbol,
526}
527
528#[derive(const _: () =
{
impl<'_sess, 'a, G> rustc_errors::Diagnostic<'_sess, G> for
LibFilenameForm<'a> where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
LibFilenameForm {
span: __binding_0,
dll_prefix: __binding_1,
dll_suffix: __binding_2 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_lib_filename_form);
;
diag.arg("dll_prefix", __binding_1);
diag.arg("dll_suffix", __binding_2);
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
529#[diag(metadata_lib_filename_form)]
530pub struct LibFilenameForm<'a> {
531 #[primary_span]
532 pub span: Span,
533 pub dll_prefix: &'a str,
534 pub dll_suffix: &'a str,
535}
536
537#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for WasmCAbi where
G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
WasmCAbi { span: __binding_0 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_wasm_c_abi);
;
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
538#[diag(metadata_wasm_c_abi)]
539pub(crate) struct WasmCAbi {
540 #[primary_span]
541 pub span: Span,
542}
543
544#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
IncompatibleTargetModifiers where
G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
IncompatibleTargetModifiers {
span: __binding_0,
extern_crate: __binding_1,
local_crate: __binding_2,
flag_name: __binding_3,
flag_name_prefixed: __binding_4,
local_value: __binding_5,
extern_value: __binding_6 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_incompatible_target_modifiers);
diag.help(crate::fluent_generated::_subdiag::help);
diag.note(crate::fluent_generated::_subdiag::note);
diag.help(crate::fluent_generated::metadata_incompatible_target_modifiers_help_fix);
diag.help(crate::fluent_generated::metadata_incompatible_target_modifiers_help_allow);
;
diag.arg("extern_crate", __binding_1);
diag.arg("local_crate", __binding_2);
diag.arg("flag_name", __binding_3);
diag.arg("flag_name_prefixed", __binding_4);
diag.arg("local_value", __binding_5);
diag.arg("extern_value", __binding_6);
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
545#[diag(metadata_incompatible_target_modifiers)]
546#[help]
547#[note]
548#[help(metadata_incompatible_target_modifiers_help_fix)]
549#[help(metadata_incompatible_target_modifiers_help_allow)]
550pub struct IncompatibleTargetModifiers {
551 #[primary_span]
552 pub span: Span,
553 pub extern_crate: Symbol,
554 pub local_crate: Symbol,
555 pub flag_name: String,
556 pub flag_name_prefixed: String,
557 pub local_value: String,
558 pub extern_value: String,
559}
560
561#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
IncompatibleTargetModifiersLMissed where
G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
IncompatibleTargetModifiersLMissed {
span: __binding_0,
extern_crate: __binding_1,
local_crate: __binding_2,
flag_name: __binding_3,
flag_name_prefixed: __binding_4,
extern_value: __binding_5 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_incompatible_target_modifiers_l_missed);
diag.help(crate::fluent_generated::_subdiag::help);
diag.note(crate::fluent_generated::_subdiag::note);
diag.help(crate::fluent_generated::metadata_incompatible_target_modifiers_help_fix_l_missed);
diag.help(crate::fluent_generated::metadata_incompatible_target_modifiers_help_allow);
;
diag.arg("extern_crate", __binding_1);
diag.arg("local_crate", __binding_2);
diag.arg("flag_name", __binding_3);
diag.arg("flag_name_prefixed", __binding_4);
diag.arg("extern_value", __binding_5);
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
562#[diag(metadata_incompatible_target_modifiers_l_missed)]
563#[help]
564#[note]
565#[help(metadata_incompatible_target_modifiers_help_fix_l_missed)]
566#[help(metadata_incompatible_target_modifiers_help_allow)]
567pub struct IncompatibleTargetModifiersLMissed {
568 #[primary_span]
569 pub span: Span,
570 pub extern_crate: Symbol,
571 pub local_crate: Symbol,
572 pub flag_name: String,
573 pub flag_name_prefixed: String,
574 pub extern_value: String,
575}
576
577#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
IncompatibleTargetModifiersRMissed where
G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
IncompatibleTargetModifiersRMissed {
span: __binding_0,
extern_crate: __binding_1,
local_crate: __binding_2,
flag_name: __binding_3,
flag_name_prefixed: __binding_4,
local_value: __binding_5 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_incompatible_target_modifiers_r_missed);
diag.help(crate::fluent_generated::_subdiag::help);
diag.note(crate::fluent_generated::_subdiag::note);
diag.help(crate::fluent_generated::metadata_incompatible_target_modifiers_help_fix_r_missed);
diag.help(crate::fluent_generated::metadata_incompatible_target_modifiers_help_allow);
;
diag.arg("extern_crate", __binding_1);
diag.arg("local_crate", __binding_2);
diag.arg("flag_name", __binding_3);
diag.arg("flag_name_prefixed", __binding_4);
diag.arg("local_value", __binding_5);
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
578#[diag(metadata_incompatible_target_modifiers_r_missed)]
579#[help]
580#[note]
581#[help(metadata_incompatible_target_modifiers_help_fix_r_missed)]
582#[help(metadata_incompatible_target_modifiers_help_allow)]
583pub struct IncompatibleTargetModifiersRMissed {
584 #[primary_span]
585 pub span: Span,
586 pub extern_crate: Symbol,
587 pub local_crate: Symbol,
588 pub flag_name: String,
589 pub flag_name_prefixed: String,
590 pub local_value: String,
591}
592
593#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
UnknownTargetModifierUnsafeAllowed where
G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
UnknownTargetModifierUnsafeAllowed {
span: __binding_0, flag_name: __binding_1 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_unknown_target_modifier_unsafe_allowed);
;
diag.arg("flag_name", __binding_1);
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
594#[diag(metadata_unknown_target_modifier_unsafe_allowed)]
595pub struct UnknownTargetModifierUnsafeAllowed {
596 #[primary_span]
597 pub span: Span,
598 pub flag_name: String,
599}
600
601#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
AsyncDropTypesInDependency where
G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
AsyncDropTypesInDependency {
span: __binding_0,
extern_crate: __binding_1,
local_crate: __binding_2 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_async_drop_types_in_dependency);
diag.help(crate::fluent_generated::_subdiag::help);
;
diag.arg("extern_crate", __binding_1);
diag.arg("local_crate", __binding_2);
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
602#[diag(metadata_async_drop_types_in_dependency)]
603#[help]
604pub struct AsyncDropTypesInDependency {
605 #[primary_span]
606 pub span: Span,
607 pub extern_crate: Symbol,
608 pub local_crate: Symbol,
609}
610
611#[derive(const _: () =
{
impl<'_sess, G> rustc_errors::Diagnostic<'_sess, G> for
RawDylibMalformed where G: rustc_errors::EmissionGuarantee {
#[track_caller]
fn into_diag(self, dcx: rustc_errors::DiagCtxtHandle<'_sess>,
level: rustc_errors::Level) -> rustc_errors::Diag<'_sess, G> {
match self {
RawDylibMalformed { span: __binding_0 } => {
let mut diag =
rustc_errors::Diag::new(dcx, level,
crate::fluent_generated::metadata_raw_dylib_malformed);
;
diag.span(__binding_0);
diag
}
}
}
}
};Diagnostic)]
612#[diag(metadata_raw_dylib_malformed)]
613pub struct RawDylibMalformed {
614 #[primary_span]
615 pub span: Span,
616}