Skip to content

Commit

Permalink
Rename typeck to hir_analysis (#1475)
Browse files Browse the repository at this point in the history
Co-authored-by: mejrs <>
  • Loading branch information
mejrs authored Oct 4, 2022
1 parent 882921a commit b8228e9
Showing 1 changed file with 31 additions and 31 deletions.
62 changes: 31 additions & 31 deletions src/diagnostics/diagnostic-structs.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ shown below:

```rust,ignore
#[derive(Diagnostic)]
#[diag(typeck::field_already_declared, code = "E0124")]
#[diag(hir_analysis::field_already_declared, code = "E0124")]
pub struct FieldAlreadyDeclared {
pub field_name: Ident,
#[primary_span]
#[label]
pub span: Span,
#[label(typeck::previous_decl_label)]
#[label(hir_analysis::previous_decl_label)]
pub prev_span: Span,
}
```
Expand All @@ -47,13 +47,13 @@ In our example, the Fluent message for the "field already declared" diagnostic
looks like this:

```fluent
typeck_field_already_declared =
hir_analysis_field_already_declared =
field `{$field_name}` is already declared
.label = field already declared
.previous_decl_label = `{$field_name}` first declared here
```

`typeck_field_already_declared` is the slug from our example and is followed
`hir_analysis_field_already_declared` is the slug from our example and is followed
by the diagnostic message.

Every field of the `Diagnostic` which does not have an annotation is
Expand All @@ -73,7 +73,7 @@ type `Span`. Applying any of these attributes will create the corresponding
subdiagnostic with that `Span`. These attributes will look for their
diagnostic message in a Fluent attribute attached to the primary Fluent
message. In our example, `#[label]` will look for
`typeck_field_already_declared.label` (which has the message "field already
`hir_analysis_field_already_declared.label` (which has the message "field already
declared"). If there is more than one subdiagnostic of the same type, then
these attributes can also take a value that is the attribute name to look for
(e.g. `previous_decl_label` in our example).
Expand Down Expand Up @@ -113,15 +113,15 @@ In the end, the `Diagnostic` derive will generate an implementation of
```rust,ignore
impl IntoDiagnostic<'_> for FieldAlreadyDeclared {
fn into_diagnostic(self, handler: &'_ rustc_errors::Handler) -> DiagnosticBuilder<'_> {
let mut diag = handler.struct_err(rustc_errors::fluent::typeck::field_already_declared);
let mut diag = handler.struct_err(rustc_errors::fluent::hir_analysis::field_already_declared);
diag.set_span(self.span);
diag.span_label(
self.span,
rustc_errors::fluent::typeck::label
rustc_errors::fluent::hir_analysis::label
);
diag.span_label(
self.prev_span,
rustc_errors::fluent::typeck::previous_decl_label
rustc_errors::fluent::hir_analysis::previous_decl_label
);
diag
}
Expand Down Expand Up @@ -154,9 +154,9 @@ following attributes:
- A path to an item in `rustc_errors::fluent`. Always in a module starting
with a Fluent resource name (which is typically the name of the crate
that the diagnostic is from), e.g.
`rustc_errors::fluent::typeck::field_already_declared`
`rustc_errors::fluent::hir_analysis::field_already_declared`
(`rustc_errors::fluent` is implicit in the attribute, so just
`typeck::field_already_declared`).
`hir_analysis::field_already_declared`).
- See [translation documentation](./translation.md).
- `code = "..."` (_Optional_)
- Specifies the error code.
Expand Down Expand Up @@ -194,11 +194,11 @@ following attributes:
- A path to an item in `rustc_errors::fluent`. Always in a module starting
with a Fluent resource name (which is typically the name of the crate
that the diagnostic is from), e.g.
`rustc_errors::fluent::typeck::field_already_declared`
`rustc_errors::fluent::hir_analysis::field_already_declared`
(`rustc_errors::fluent` is implicit in the attribute, so just
`typeck::field_already_declared`). Fluent attributes for all messages
exist as top-level items in that module (so `typeck_message.attr` is just
`typeck::attr`).
`hir_analysis::field_already_declared`). Fluent attributes for all messages
exist as top-level items in that module (so `hir_analysis_message.attr` is just
`hir_analysis::attr`).
- See [translation documentation](./translation.md).
- Defaults to `rustc_errors::fluent::_subdiag::suggestion` (or
- `.suggestion` in Fluent).
Expand Down Expand Up @@ -233,12 +233,12 @@ shown below:
```rust
#[derive(Subdiagnostic)]
pub enum ExpectedReturnTypeLabel<'tcx> {
#[label(typeck::expected_default_return_type)]
#[label(hir_analysis::expected_default_return_type)]
Unit {
#[primary_span]
span: Span,
},
#[label(typeck::expected_return_type)]
#[label(hir_analysis::expected_return_type)]
Other {
#[primary_span]
span: Span,
Expand Down Expand Up @@ -268,9 +268,9 @@ In our example, the Fluent message for the "expected return type" label
looks like this:

```fluent
typeck_expected_default_return_type = expected `()` because of default return type
hir_analysis_expected_default_return_type = expected `()` because of default return type
typeck_expected_return_type = expected `{$expected}` because of return type
hir_analysis_expected_return_type = expected `{$expected}` because of return type
```

Using the `#[primary_span]` attribute on a field (with type `Span`) will denote
Expand Down Expand Up @@ -315,11 +315,11 @@ impl<'tcx> AddToDiagnostic for ExpectedReturnTypeLabel<'tcx> {
use rustc_errors::{Applicability, IntoDiagnosticArg};
match self {
ExpectedReturnTypeLabel::Unit { span } => {
diag.span_label(span, rustc_errors::fluent::typeck::expected_default_return_type)
diag.span_label(span, rustc_errors::fluent::hir_analysis::expected_default_return_type)
}
ExpectedReturnTypeLabel::Other { span, expected } => {
diag.set_arg("expected", expected);
diag.span_label(span, rustc_errors::fluent::typeck::expected_return_type)
diag.span_label(span, rustc_errors::fluent::hir_analysis::expected_return_type)
}

}
Expand All @@ -345,9 +345,9 @@ diagnostic struct.
- A path to an item in `rustc_errors::fluent`. Always in a module starting
with a Fluent resource name (which is typically the name of the crate
that the diagnostic is from), e.g.
`rustc_errors::fluent::typeck::field_already_declared`
`rustc_errors::fluent::hir_analysis::field_already_declared`
(`rustc_errors::fluent` is implicit in the attribute, so just
`typeck::field_already_declared`).
`hir_analysis::field_already_declared`).
- See [translation documentation](./translation.md).
- `#[suggestion{,_hidden,_short,_verbose}(slug, code = "...", applicability = "...")]`
- _Applied to struct or enum variant. Mutually exclusive with struct/enum variant attributes._
Expand All @@ -357,11 +357,11 @@ diagnostic struct.
- A path to an item in `rustc_errors::fluent`. Always in a module starting
with a Fluent resource name (which is typically the name of the crate
that the diagnostic is from), e.g.
`rustc_errors::fluent::typeck::field_already_declared`
`rustc_errors::fluent::hir_analysis::field_already_declared`
(`rustc_errors::fluent` is implicit in the attribute, so just
`typeck::field_already_declared`). Fluent attributes for all messages
exist as top-level items in that module (so `typeck_message.attr` is just
`typeck::attr`).
`hir_analysis::field_already_declared`). Fluent attributes for all messages
exist as top-level items in that module (so `hir_analysis_message.attr` is just
`hir_analysis::attr`).
- See [translation documentation](./translation.md).
- Defaults to `rustc_errors::fluent::_subdiag::suggestion` (or
- `.suggestion` in Fluent).
Expand Down Expand Up @@ -399,9 +399,9 @@ to multipart suggestions)
- _Applied to any field._
- Prevents the field from being provided as a diagnostic argument.

[defn]: https://github.com/rust-lang/rust/blob/bbe9d27b8ff36da56638aa43d6d0cdfdf89a4e57/compiler/rustc_typeck/src/errors.rs#L65-L74
[use]: https://github.com/rust-lang/rust/blob/eb82facb1626166188d49599a3313fc95201f556/compiler/rustc_typeck/src/collect.rs#L981-L985
[defn]: https://github.com/rust-lang/rust/blob/6201eabde85db854c1ebb57624be5ec699246b50/compiler/rustc_hir_analysis/src/errors.rs#L68-L77
[use]: https://github.com/rust-lang/rust/blob/f1112099eba41abadb6f921df7edba70affe92c5/compiler/rustc_hir_analysis/src/collect.rs#L823-L827

[subdiag_defn]: https://github.com/rust-lang/rust/blob/e70c60d34b9783a2fd3171d88d248c2e0ec8ecdd/compiler/rustc_typeck/src/errors.rs#L220-L233
[subdiag_use_1]: https://github.com/rust-lang/rust/blob/e70c60d34b9783a2fd3171d88d248c2e0ec8ecdd/compiler/rustc_typeck/src/check/fn_ctxt/suggestions.rs#L556-L560
[subdiag_use_2]: https://github.com/rust-lang/rust/blob/e70c60d34b9783a2fd3171d88d248c2e0ec8ecdd/compiler/rustc_typeck/src/check/fn_ctxt/suggestions.rs#L575-L579
[subdiag_defn]: https://github.com/rust-lang/rust/blob/f1112099eba41abadb6f921df7edba70affe92c5/compiler/rustc_hir_analysis/src/errors.rs#L221-L234
[subdiag_use_1]: https://github.com/rust-lang/rust/blob/f1112099eba41abadb6f921df7edba70affe92c5/compiler/rustc_hir_analysis/src/check/fn_ctxt/suggestions.rs#L670-L674
[subdiag_use_2]: https://github.com/rust-lang/rust/blob/f1112099eba41abadb6f921df7edba70affe92c5/compiler/rustc_hir_analysis/src/check/fn_ctxt/suggestions.rs#L704-L707

0 comments on commit b8228e9

Please sign in to comment.