diff options
| author | David Wood <david.wood@huawei.com> | 2022-06-22 14:17:34 +0100 |
|---|---|---|
| committer | David Wood <david.wood@huawei.com> | 2022-06-27 08:53:42 +0100 |
| commit | be9ebfdbceff0727d37d97a8f4bc812a05a0eff9 (patch) | |
| tree | e59f767750ed52f817c5677a6f705754d39395fe /compiler/rustc_privacy/src/errors.rs | |
| parent | ae612241dc1f474cfa0b3a3895599c984a43caeb (diff) | |
| download | rust-be9ebfdbceff0727d37d97a8f4bc812a05a0eff9.tar.gz rust-be9ebfdbceff0727d37d97a8f4bc812a05a0eff9.zip | |
privacy: port "field is private" diag
Signed-off-by: David Wood <david.wood@huawei.com>
Diffstat (limited to 'compiler/rustc_privacy/src/errors.rs')
| -rw-r--r-- | compiler/rustc_privacy/src/errors.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/compiler/rustc_privacy/src/errors.rs b/compiler/rustc_privacy/src/errors.rs new file mode 100644 index 00000000000..b101fae0f94 --- /dev/null +++ b/compiler/rustc_privacy/src/errors.rs @@ -0,0 +1,29 @@ +use rustc_macros::{SessionDiagnostic, SessionSubdiagnostic}; +use rustc_span::{Span, Symbol}; + +#[derive(SessionDiagnostic)] +#[error(privacy::field_is_private, code = "E0451")] +pub struct FieldIsPrivate { + #[primary_span] + pub span: Span, + pub field_name: Symbol, + pub variant_descr: &'static str, + pub def_path_str: String, + #[subdiagnostic] + pub label: FieldIsPrivateLabel, +} + +#[derive(SessionSubdiagnostic)] +pub enum FieldIsPrivateLabel { + #[label(privacy::field_is_private_is_update_syntax_label)] + IsUpdateSyntax { + #[primary_span] + span: Span, + field_name: Symbol, + }, + #[label(privacy::field_is_private_label)] + Other { + #[primary_span] + span: Span, + }, +} |
