diff options
| author | bors <bors@rust-lang.org> | 2022-09-21 19:58:39 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-09-21 19:58:39 +0000 |
| commit | 9062b780b32d2eab060b4432863e085d9504ca5c (patch) | |
| tree | 5b2ed54bf5b205ef5a580b3afa387f5a7532d209 /compiler/rustc_const_eval/src/errors.rs | |
| parent | db4b4d3becf257e7b1c051540fc7e317958d8d2d (diff) | |
| parent | e52e2344dc574922ce4f8ddfd508f8bfdec3f404 (diff) | |
Auto merge of #101558 - JhonnyBillM:session-diagnostic-to-diagnostic-handler-refactor, r=davidtwco
Move and rename `SessionDiagnostic` & `SessionSubdiagnostic` traits and macros
After PR #101434, we want to:
- [x] Move `SessionDiagnostic` to `rustc_errors`.
- [x] Add `emit_` methods that accept `impl SessionDiagnostic` to `Handler`.
- [x] _(optional)_ Rename trait `SessionDiagnostic` to `DiagnosticHandler`.
- [x] _(optional)_ Rename macro `SessionDiagnostic` to `DiagnosticHandler`.
- [x] Update Rustc Dev Guide and Docs to reflect these changes. https://github.com/rust-lang/rustc-dev-guide/pull/1460
Now I am having build issues getting the compiler to build when trying to rename the macro.
<details>
<summary>See diagnostics errors and context when building.</summary>
```
error: diagnostics should only be created in `SessionDiagnostic`/`AddSubdiagnostic` impls
--> compiler/rustc_attr/src/session_diagnostics.rs:13:10
|
13 | #[derive(DiagnosticHandler)]
| ^^^^^^^^^^^^^^^^^ in this derive macro expansion
|
::: /Users/jhonny/.cargo/registry/src/github.com-1ecc6299db9ec823/synstructure-0.12.6/src/macros.rs:94:9
|
94 | / pub fn $derives(
95 | | i: $crate::macros::TokenStream
96 | | ) -> $crate::macros::TokenStream {
| |________________________________________- in this expansion of `#[derive(DiagnosticHandler)]`
|
note: the lint level is defined here
--> compiler/rustc_attr/src/lib.rs:10:9
|
10 | #![deny(rustc::diagnostic_outside_of_impl)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```
And also this one:
```
error: diagnostics should only be created in `SessionDiagnostic`/`AddSubdiagnostic` impls
--> compiler/rustc_attr/src/session_diagnostics.rs:213:32
|
213 | let mut diag = handler.struct_span_err_with_code(
| ^^^^^^^^^^^^^^^^^^^^^^^^^
```
> **Note**
> Can't find where this message is coming from, because you can see in [this experimental branch](https://github.com/JhonnyBillM/rust/tree/experimental/trying-to-rename-session-diagnostic-macro) that I updated all errors and diags to say:
> error: diagnostics should only be created in **`DiagnosticHandler`**/`AddSubdiagnostic` impls
> and not:
> error: diagnostics should only be created in **`SessionDiagnostic`**/`AddSubdiagnostic` impls
</details>
I tried building the compiler in different ways (playing with the stages etc), but nothing worked.
## Question
**Do we need to build or do something different when renaming a macro and identifiers?**
For context, see experimental commit https://github.com/JhonnyBillM/rust/commit/f2193a98b44db3f2af77a878824b152cdf0d34a5 where the macro and symbols are renamed, but it doesn't compile.
Diffstat (limited to 'compiler/rustc_const_eval/src/errors.rs')
| -rw-r--r-- | compiler/rustc_const_eval/src/errors.rs | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/compiler/rustc_const_eval/src/errors.rs b/compiler/rustc_const_eval/src/errors.rs index c3547cb3abd..c6cb7a8b961 100644 --- a/compiler/rustc_const_eval/src/errors.rs +++ b/compiler/rustc_const_eval/src/errors.rs @@ -1,8 +1,8 @@ use rustc_hir::ConstContext; -use rustc_macros::SessionDiagnostic; +use rustc_macros::Diagnostic; use rustc_span::Span; -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::unstable_in_stable)] pub(crate) struct UnstableInStable { pub gate: String, @@ -21,14 +21,14 @@ pub(crate) struct UnstableInStable { pub attr_span: Span, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::thread_local_access, code = "E0625")] pub(crate) struct NonConstOpErr { #[primary_span] pub span: Span, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::static_access, code = "E0013")] #[help] pub(crate) struct StaticAccessErr { @@ -40,7 +40,7 @@ pub(crate) struct StaticAccessErr { pub teach: Option<()>, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::raw_ptr_to_int)] #[note] #[note(const_eval::note2)] @@ -49,7 +49,7 @@ pub(crate) struct RawPtrToIntErr { pub span: Span, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::raw_ptr_comparison)] #[note] pub(crate) struct RawPtrComparisonErr { @@ -57,14 +57,14 @@ pub(crate) struct RawPtrComparisonErr { pub span: Span, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::panic_non_str)] pub(crate) struct PanicNonStrErr { #[primary_span] pub span: Span, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::mut_deref, code = "E0658")] pub(crate) struct MutDerefErr { #[primary_span] @@ -72,7 +72,7 @@ pub(crate) struct MutDerefErr { pub kind: ConstContext, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::transient_mut_borrow, code = "E0658")] pub(crate) struct TransientMutBorrowErr { #[primary_span] @@ -80,7 +80,7 @@ pub(crate) struct TransientMutBorrowErr { pub kind: ConstContext, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::transient_mut_borrow_raw, code = "E0658")] pub(crate) struct TransientMutBorrowErrRaw { #[primary_span] @@ -88,7 +88,7 @@ pub(crate) struct TransientMutBorrowErrRaw { pub kind: ConstContext, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::max_num_nodes_in_const)] pub(crate) struct MaxNumNodesInConstErr { #[primary_span] @@ -96,7 +96,7 @@ pub(crate) struct MaxNumNodesInConstErr { pub global_const_id: String, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::unallowed_fn_pointer_call)] pub(crate) struct UnallowedFnPointerCall { #[primary_span] @@ -104,7 +104,7 @@ pub(crate) struct UnallowedFnPointerCall { pub kind: ConstContext, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::unstable_const_fn)] pub(crate) struct UnstableConstFn { #[primary_span] @@ -112,7 +112,7 @@ pub(crate) struct UnstableConstFn { pub def_path: String, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::unallowed_mutable_refs, code = "E0764")] pub(crate) struct UnallowedMutableRefs { #[primary_span] @@ -122,7 +122,7 @@ pub(crate) struct UnallowedMutableRefs { pub teach: Option<()>, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::unallowed_mutable_refs_raw, code = "E0764")] pub(crate) struct UnallowedMutableRefsRaw { #[primary_span] @@ -131,7 +131,7 @@ pub(crate) struct UnallowedMutableRefsRaw { #[note(const_eval::teach_note)] pub teach: Option<()>, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::non_const_fmt_macro_call, code = "E0015")] pub(crate) struct NonConstFmtMacroCall { #[primary_span] @@ -139,7 +139,7 @@ pub(crate) struct NonConstFmtMacroCall { pub kind: ConstContext, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::non_const_fn_call, code = "E0015")] pub(crate) struct NonConstFnCall { #[primary_span] @@ -148,7 +148,7 @@ pub(crate) struct NonConstFnCall { pub kind: ConstContext, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::unallowed_op_in_const_context)] pub(crate) struct UnallowedOpInConstContext { #[primary_span] @@ -156,7 +156,7 @@ pub(crate) struct UnallowedOpInConstContext { pub msg: String, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::unallowed_heap_allocations, code = "E0010")] pub(crate) struct UnallowedHeapAllocations { #[primary_span] @@ -167,7 +167,7 @@ pub(crate) struct UnallowedHeapAllocations { pub teach: Option<()>, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::unallowed_inline_asm, code = "E0015")] pub(crate) struct UnallowedInlineAsm { #[primary_span] @@ -175,7 +175,7 @@ pub(crate) struct UnallowedInlineAsm { pub kind: ConstContext, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::interior_mutable_data_refer, code = "E0492")] pub(crate) struct InteriorMutableDataRefer { #[primary_span] @@ -188,7 +188,7 @@ pub(crate) struct InteriorMutableDataRefer { pub teach: Option<()>, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(const_eval::interior_mutability_borrow)] pub(crate) struct InteriorMutabilityBorrow { #[primary_span] |
