Skip to content

Commit 5c7e629

Browse files
committed
rebase and update trait names
1 parent 6e22c0a commit 5c7e629

File tree

4 files changed

+42
-52
lines changed

4 files changed

+42
-52
lines changed

compiler/rustc_codegen_gcc/src/errors.rs

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use rustc_errors::{DiagnosticArgValue, IntoDiagnosticArg};
2-
use rustc_macros::SessionDiagnostic;
2+
use rustc_macros::Diagnostic;
33
use rustc_middle::ty::Ty;
44
use rustc_span::{Span, Symbol};
55
use std::borrow::Cow;
@@ -17,7 +17,7 @@ impl IntoDiagnosticArg for ExitCode {
1717
}
1818
}
1919

20-
#[derive(SessionDiagnostic)]
20+
#[derive(Diagnostic)]
2121
#[diag(codegen_gcc::ranlib_failure)]
2222
pub(crate) struct RanlibFailure {
2323
exit_code: ExitCode,
@@ -30,7 +30,7 @@ impl RanlibFailure {
3030
}
3131
}
3232

33-
#[derive(SessionDiagnostic)]
33+
#[derive(Diagnostic)]
3434
#[diag(codegen_gcc::invalid_monomorphization_basic_integer, code = "E0511")]
3535
pub(crate) struct InvalidMonomorphizationBasicInteger<'a> {
3636
#[primary_span]
@@ -39,7 +39,7 @@ pub(crate) struct InvalidMonomorphizationBasicInteger<'a> {
3939
pub ty: Ty<'a>,
4040
}
4141

42-
#[derive(SessionDiagnostic)]
42+
#[derive(Diagnostic)]
4343
#[diag(codegen_gcc::invalid_monomorphization_invalid_float_vector, code = "E0511")]
4444
pub(crate) struct InvalidMonomorphizationInvalidFloatVector<'a> {
4545
#[primary_span]
@@ -49,7 +49,7 @@ pub(crate) struct InvalidMonomorphizationInvalidFloatVector<'a> {
4949
pub vec_ty: Ty<'a>,
5050
}
5151

52-
#[derive(SessionDiagnostic)]
52+
#[derive(Diagnostic)]
5353
#[diag(codegen_gcc::invalid_monomorphization_not_float, code = "E0511")]
5454
pub(crate) struct InvalidMonomorphizationNotFloat<'a> {
5555
#[primary_span]
@@ -58,15 +58,15 @@ pub(crate) struct InvalidMonomorphizationNotFloat<'a> {
5858
pub ty: Ty<'a>,
5959
}
6060

61-
#[derive(SessionDiagnostic)]
61+
#[derive(Diagnostic)]
6262
#[diag(codegen_gcc::invalid_monomorphization_unrecognized, code = "E0511")]
6363
pub(crate) struct InvalidMonomorphizationUnrecognized {
6464
#[primary_span]
6565
pub span: Span,
6666
pub name: Symbol,
6767
}
6868

69-
#[derive(SessionDiagnostic)]
69+
#[derive(Diagnostic)]
7070
#[diag(codegen_gcc::invalid_monomorphization_expected_signed_unsigned, code = "E0511")]
7171
pub(crate) struct InvalidMonomorphizationExpectedSignedUnsigned<'a> {
7272
#[primary_span]
@@ -76,7 +76,7 @@ pub(crate) struct InvalidMonomorphizationExpectedSignedUnsigned<'a> {
7676
pub vec_ty: Ty<'a>,
7777
}
7878

79-
#[derive(SessionDiagnostic)]
79+
#[derive(Diagnostic)]
8080
#[diag(codegen_gcc::invalid_monomorphization_unsupported_element, code = "E0511")]
8181
pub(crate) struct InvalidMonomorphizationUnsupportedElement<'a> {
8282
#[primary_span]
@@ -87,7 +87,7 @@ pub(crate) struct InvalidMonomorphizationUnsupportedElement<'a> {
8787
pub ret_ty: Ty<'a>,
8888
}
8989

90-
#[derive(SessionDiagnostic)]
90+
#[derive(Diagnostic)]
9191
#[diag(codegen_gcc::invalid_monomorphization_invalid_bitmask, code = "E0511")]
9292
pub(crate) struct InvalidMonomorphizationInvalidBitmask<'a> {
9393
#[primary_span]
@@ -98,7 +98,7 @@ pub(crate) struct InvalidMonomorphizationInvalidBitmask<'a> {
9898
pub expected_bytes: u64,
9999
}
100100

101-
#[derive(SessionDiagnostic)]
101+
#[derive(Diagnostic)]
102102
#[diag(codegen_gcc::invalid_monomorphization_simd_shuffle, code = "E0511")]
103103
pub(crate) struct InvalidMonomorphizationSimdShuffle<'a> {
104104
#[primary_span]
@@ -107,7 +107,7 @@ pub(crate) struct InvalidMonomorphizationSimdShuffle<'a> {
107107
pub ty: Ty<'a>,
108108
}
109109

110-
#[derive(SessionDiagnostic)]
110+
#[derive(Diagnostic)]
111111
#[diag(codegen_gcc::invalid_monomorphization_expected_simd, code = "E0511")]
112112
pub(crate) struct InvalidMonomorphizationExpectedSimd<'a> {
113113
#[primary_span]
@@ -117,7 +117,7 @@ pub(crate) struct InvalidMonomorphizationExpectedSimd<'a> {
117117
pub found_ty: Ty<'a>,
118118
}
119119

120-
#[derive(SessionDiagnostic)]
120+
#[derive(Diagnostic)]
121121
#[diag(codegen_gcc::invalid_monomorphization_mask_type, code = "E0511")]
122122
pub(crate) struct InvalidMonomorphizationMaskType<'a> {
123123
#[primary_span]
@@ -126,7 +126,7 @@ pub(crate) struct InvalidMonomorphizationMaskType<'a> {
126126
pub ty: Ty<'a>,
127127
}
128128

129-
#[derive(SessionDiagnostic)]
129+
#[derive(Diagnostic)]
130130
#[diag(codegen_gcc::invalid_monomorphization_return_length, code = "E0511")]
131131
pub(crate) struct InvalidMonomorphizationReturnLength<'a> {
132132
#[primary_span]
@@ -137,7 +137,7 @@ pub(crate) struct InvalidMonomorphizationReturnLength<'a> {
137137
pub out_len: u64,
138138
}
139139

140-
#[derive(SessionDiagnostic)]
140+
#[derive(Diagnostic)]
141141
#[diag(codegen_gcc::invalid_monomorphization_return_length_input_type, code = "E0511")]
142142
pub(crate) struct InvalidMonomorphizationReturnLengthInputType<'a> {
143143
#[primary_span]
@@ -149,7 +149,7 @@ pub(crate) struct InvalidMonomorphizationReturnLengthInputType<'a> {
149149
pub out_len: u64,
150150
}
151151

152-
#[derive(SessionDiagnostic)]
152+
#[derive(Diagnostic)]
153153
#[diag(codegen_gcc::invalid_monomorphization_return_element, code = "E0511")]
154154
pub(crate) struct InvalidMonomorphizationReturnElement<'a> {
155155
#[primary_span]
@@ -161,7 +161,7 @@ pub(crate) struct InvalidMonomorphizationReturnElement<'a> {
161161
pub out_ty: Ty<'a>,
162162
}
163163

164-
#[derive(SessionDiagnostic)]
164+
#[derive(Diagnostic)]
165165
#[diag(codegen_gcc::invalid_monomorphization_return_type, code = "E0511")]
166166
pub(crate) struct InvalidMonomorphizationReturnType<'a> {
167167
#[primary_span]
@@ -172,7 +172,7 @@ pub(crate) struct InvalidMonomorphizationReturnType<'a> {
172172
pub ret_ty: Ty<'a>,
173173
}
174174

175-
#[derive(SessionDiagnostic)]
175+
#[derive(Diagnostic)]
176176
#[diag(codegen_gcc::invalid_monomorphization_inserted_type, code = "E0511")]
177177
pub(crate) struct InvalidMonomorphizationInsertedType<'a> {
178178
#[primary_span]
@@ -183,7 +183,7 @@ pub(crate) struct InvalidMonomorphizationInsertedType<'a> {
183183
pub out_ty: Ty<'a>,
184184
}
185185

186-
#[derive(SessionDiagnostic)]
186+
#[derive(Diagnostic)]
187187
#[diag(codegen_gcc::invalid_monomorphization_return_integer_type, code = "E0511")]
188188
pub(crate) struct InvalidMonomorphizationReturnIntegerType<'a> {
189189
#[primary_span]
@@ -193,7 +193,7 @@ pub(crate) struct InvalidMonomorphizationReturnIntegerType<'a> {
193193
pub out_ty: Ty<'a>,
194194
}
195195

196-
#[derive(SessionDiagnostic)]
196+
#[derive(Diagnostic)]
197197
#[diag(codegen_gcc::invalid_monomorphization_mismatched_lengths, code = "E0511")]
198198
pub(crate) struct InvalidMonomorphizationMismatchedLengths {
199199
#[primary_span]
@@ -203,7 +203,7 @@ pub(crate) struct InvalidMonomorphizationMismatchedLengths {
203203
pub v_len: u64,
204204
}
205205

206-
#[derive(SessionDiagnostic)]
206+
#[derive(Diagnostic)]
207207
#[diag(codegen_gcc::invalid_monomorphization_unsupported_cast, code = "E0511")]
208208
pub(crate) struct InvalidMonomorphizationUnsupportedCast<'a> {
209209
#[primary_span]
@@ -215,7 +215,7 @@ pub(crate) struct InvalidMonomorphizationUnsupportedCast<'a> {
215215
pub out_elem: Ty<'a>,
216216
}
217217

218-
#[derive(SessionDiagnostic)]
218+
#[derive(Diagnostic)]
219219
#[diag(codegen_gcc::invalid_monomorphization_unsupported_operation, code = "E0511")]
220220
pub(crate) struct InvalidMonomorphizationUnsupportedOperation<'a> {
221221
#[primary_span]
@@ -225,26 +225,26 @@ pub(crate) struct InvalidMonomorphizationUnsupportedOperation<'a> {
225225
pub in_elem: Ty<'a>,
226226
}
227227

228-
#[derive(SessionDiagnostic)]
228+
#[derive(Diagnostic)]
229229
#[diag(codegen_gcc::layout_size_overflow)]
230230
pub(crate) struct LayoutSizeOverflow {
231231
#[primary_span]
232232
pub span: Span,
233233
pub error: String,
234234
}
235235

236-
#[derive(SessionDiagnostic)]
236+
#[derive(Diagnostic)]
237237
#[diag(codegen_gcc::linkage_const_or_mut_type)]
238238
pub(crate) struct LinkageConstOrMutType {
239239
#[primary_span]
240240
pub span: Span
241241
}
242242

243-
#[derive(SessionDiagnostic)]
243+
#[derive(Diagnostic)]
244244
#[diag(codegen_gcc::lto_not_supported)]
245245
pub(crate) struct LTONotSupported;
246246

247-
#[derive(SessionDiagnostic)]
247+
#[derive(Diagnostic)]
248248
#[diag(codegen_gcc::unwinding_inline_asm)]
249249
pub(crate) struct UnwindingInlineAsm {
250250
#[primary_span]

compiler/rustc_errors/src/diagnostic_builder.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ use crate::{
55
};
66
use crate::{Handler, Level, MultiSpan, StashKey};
77
use rustc_lint_defs::Applicability;
8+
use rustc_span::source_map::Spanned;
89

910
use rustc_span::Span;
1011
use std::borrow::Cow;
@@ -23,6 +24,18 @@ pub trait IntoDiagnostic<'a, T: EmissionGuarantee = ErrorGuaranteed> {
2324
fn into_diagnostic(self, handler: &'a Handler) -> DiagnosticBuilder<'a, T>;
2425
}
2526

27+
impl<'a, T, E> IntoDiagnostic<'a, E> for Spanned<T>
28+
where
29+
T: IntoDiagnostic<'a, E>,
30+
E: EmissionGuarantee,
31+
{
32+
fn into_diagnostic(self, handler: &'a Handler) -> DiagnosticBuilder<'a, E> {
33+
let mut diag = self.node.into_diagnostic(handler);
34+
diag.set_span(self.span);
35+
diag
36+
}
37+
}
38+
2639
/// Used for emitting structured error messages and other diagnostic information.
2740
///
2841
/// If there is some state in a downstream crate you would like to

compiler/rustc_middle/src/ty/layout.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,13 @@ use crate::ty::{
77
};
88
use rustc_ast as ast;
99
use rustc_attr as attr;
10-
use rustc_errors::Handler;
10+
use rustc_errors::{Handler, IntoDiagnostic};
1111
use rustc_hir as hir;
1212
use rustc_hir::def_id::DefId;
1313
use rustc_hir::lang_items::LangItem;
1414
use rustc_index::bit_set::BitSet;
1515
use rustc_index::vec::{Idx, IndexVec};
16-
use rustc_session::{
17-
config::OptLevel, DataTypeKind, FieldInfo, SessionDiagnostic, SizeKind, VariantInfo,
18-
};
16+
use rustc_session::{config::OptLevel, DataTypeKind, FieldInfo, SizeKind, VariantInfo};
1917
use rustc_span::symbol::Symbol;
2018
use rustc_span::{Span, DUMMY_SP};
2119
use rustc_target::abi::call::{
@@ -209,7 +207,7 @@ pub enum LayoutError<'tcx> {
209207
NormalizationFailure(Ty<'tcx>, NormalizationError<'tcx>),
210208
}
211209

212-
impl<'a> SessionDiagnostic<'a, !> for LayoutError<'a> {
210+
impl<'a> IntoDiagnostic<'a, !> for LayoutError<'a> {
213211
fn into_diagnostic(self, handler: &'a Handler) -> rustc_errors::DiagnosticBuilder<'a, !> {
214212
handler.struct_fatal(self.to_string())
215213
}

compiler/rustc_session/src/session.rs

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ use rustc_errors::{
3333
use rustc_macros::HashStable_Generic;
3434
pub use rustc_span::def_id::StableCrateId;
3535
use rustc_span::edition::Edition;
36-
use rustc_span::source_map::{FileLoader, RealFileLoader, SourceMap, Span, Spanned};
36+
use rustc_span::source_map::{FileLoader, RealFileLoader, SourceMap, Span};
3737
use rustc_span::{sym, SourceFileHashAlgorithm, Symbol};
3838
use rustc_target::asm::InlineAsmArch;
3939
use rustc_target::spec::{CodeModel, PanicStrategy, RelocModel, RelroLevel};
@@ -223,27 +223,6 @@ pub struct PerfStats {
223223
pub normalize_projection_ty: AtomicUsize,
224224
}
225225

226-
/// Trait implemented by error types. This should not be implemented manually. Instead, use
227-
/// `#[derive(SessionDiagnostic)]` -- see [rustc_macros::SessionDiagnostic].
228-
#[rustc_diagnostic_item = "SessionDiagnostic"]
229-
pub trait SessionDiagnostic<'a, T: EmissionGuarantee = ErrorGuaranteed> {
230-
/// Write out as a diagnostic out of `Handler`.
231-
#[must_use]
232-
fn into_diagnostic(self, handler: &'a Handler) -> DiagnosticBuilder<'a, T>;
233-
}
234-
235-
impl<'a, T, E> SessionDiagnostic<'a, E> for Spanned<T>
236-
where
237-
T: SessionDiagnostic<'a, E>,
238-
E: EmissionGuarantee,
239-
{
240-
fn into_diagnostic(self, handler: &'a Handler) -> rustc_errors::DiagnosticBuilder<'a, E> {
241-
let mut diag = self.node.into_diagnostic(handler);
242-
diag.set_span(self.span);
243-
diag
244-
}
245-
}
246-
247226
impl Session {
248227
pub fn miri_unleashed_feature(&self, span: Span, feature_gate: Option<Symbol>) {
249228
self.miri_unleashed_features.lock().push((span, feature_gate));

0 commit comments

Comments
 (0)