about summary refs log tree commit diff
path: root/compiler/rustc_privacy/src/errors.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-06-11 22:18:23 +0000
committerbors <bors@rust-lang.org>2023-06-11 22:18:23 +0000
commit77dba225c1048e5585b2cdefb7f8588bd2d2741b (patch)
tree89b81f60a07b914d6d38b5c12c176695b6175bf2 /compiler/rustc_privacy/src/errors.rs
parent37998ab508d5d9fa0d465d7b535dc673087dda8f (diff)
parent6d46382f6f0688df0fc5c67386f86ccd6fdb975f (diff)
downloadrust-77dba225c1048e5585b2cdefb7f8588bd2d2741b.tar.gz
rust-77dba225c1048e5585b2cdefb7f8588bd2d2741b.zip
Auto merge of #111801 - Bryanskiy:lints1, r=petrochenkov
Private-in-public lints implementation

Next part of RFC https://github.com/rust-lang/rust/issues/48054.

r? `@petrochenkov`
Diffstat (limited to 'compiler/rustc_privacy/src/errors.rs')
-rw-r--r--compiler/rustc_privacy/src/errors.rs29
1 files changed, 29 insertions, 0 deletions
diff --git a/compiler/rustc_privacy/src/errors.rs b/compiler/rustc_privacy/src/errors.rs
index 72b53eefa08..67689b5e713 100644
--- a/compiler/rustc_privacy/src/errors.rs
+++ b/compiler/rustc_privacy/src/errors.rs
@@ -98,3 +98,32 @@ pub struct PrivateInPublicLint<'a> {
     pub kind: &'a str,
     pub descr: DiagnosticArgFromDisplay<'a>,
 }
+
+#[derive(LintDiagnostic)]
+#[diag(privacy_unnameable_types_lint)]
+pub struct UnnameableTypesLint<'a> {
+    #[label]
+    pub span: Span,
+    pub kind: &'a str,
+    pub descr: DiagnosticArgFromDisplay<'a>,
+    pub reachable_vis: &'a str,
+    pub reexported_vis: &'a str,
+}
+
+// Used for `private_interfaces` and `private_bounds` lints.
+// They will replace private-in-public errors and compatibility lints in future.
+// See https://rust-lang.github.io/rfcs/2145-type-privacy.html for more details.
+#[derive(LintDiagnostic)]
+#[diag(privacy_private_interface_or_bounds_lint)]
+pub struct PrivateInterfacesOrBoundsLint<'a> {
+    #[note(privacy_item_note)]
+    pub item_span: Span,
+    pub item_kind: &'a str,
+    pub item_descr: DiagnosticArgFromDisplay<'a>,
+    pub item_vis_descr: &'a str,
+    #[note(privacy_ty_note)]
+    pub ty_span: Span,
+    pub ty_kind: &'a str,
+    pub ty_descr: DiagnosticArgFromDisplay<'a>,
+    pub ty_vis_descr: &'a str,
+}