From 0fa5589e0a47d3099f89975ce4adcf75ab8476d7 Mon Sep 17 00:00:00 2001 From: Jonathan Brouwer Date: Fri, 9 Jan 2026 16:12:51 +0100 Subject: [PATCH] Remove obsolote diagnostic tests --- .../internal-lints/diagnostics.ftl | 5 - .../ui-fulldeps/internal-lints/diagnostics.rs | 122 ------------------ .../internal-lints/diagnostics.stderr | 74 ----------- .../internal-lints/diagnostics_incorrect.rs | 15 --- .../diagnostics_incorrect.stderr | 20 --- 5 files changed, 236 deletions(-) delete mode 100644 tests/ui-fulldeps/internal-lints/diagnostics.ftl delete mode 100644 tests/ui-fulldeps/internal-lints/diagnostics.rs delete mode 100644 tests/ui-fulldeps/internal-lints/diagnostics.stderr delete mode 100644 tests/ui/internal-lints/diagnostics_incorrect.rs delete mode 100644 tests/ui/internal-lints/diagnostics_incorrect.stderr diff --git a/tests/ui-fulldeps/internal-lints/diagnostics.ftl b/tests/ui-fulldeps/internal-lints/diagnostics.ftl deleted file mode 100644 index cb2d476d815d..000000000000 --- a/tests/ui-fulldeps/internal-lints/diagnostics.ftl +++ /dev/null @@ -1,5 +0,0 @@ -no_crate_example = this is an example message used in testing - .note = with a note - .help = with a help - .suggestion = with a suggestion - .label = with a label diff --git a/tests/ui-fulldeps/internal-lints/diagnostics.rs b/tests/ui-fulldeps/internal-lints/diagnostics.rs deleted file mode 100644 index 039a9dcbd4c2..000000000000 --- a/tests/ui-fulldeps/internal-lints/diagnostics.rs +++ /dev/null @@ -1,122 +0,0 @@ -//@ compile-flags: -Z unstable-options -//@ ignore-stage1 - -#![crate_type = "lib"] -#![feature(rustc_attrs)] -#![feature(rustc_private)] - -extern crate rustc_errors; -extern crate rustc_fluent_macro; -extern crate rustc_macros; -extern crate rustc_session; -extern crate rustc_span; - -use rustc_errors::{ - Diag, DiagCtxtHandle, DiagInner, DiagMessage, Diagnostic, EmissionGuarantee, Level, - LintDiagnostic, SubdiagMessage, Subdiagnostic, -}; -use rustc_macros::{Diagnostic, Subdiagnostic}; -use rustc_span::Span; - -rustc_fluent_macro::fluent_messages! { "./diagnostics.ftl" } - -#[derive(Diagnostic)] -#[diag(no_crate_example)] -struct DeriveDiagnostic { - #[primary_span] - span: Span, -} - -#[derive(Subdiagnostic)] -#[note(no_crate_example)] -struct Note { - #[primary_span] - span: Span, -} - -pub struct UntranslatableInDiagnostic; - -impl<'a, G: EmissionGuarantee> Diagnostic<'a, G> for UntranslatableInDiagnostic { - fn into_diag(self, dcx: DiagCtxtHandle<'a>, level: Level) -> Diag<'a, G> { - Diag::new(dcx, level, "untranslatable diagnostic") - //~^ ERROR diagnostics should be created using translatable messages - } -} - -pub struct TranslatableInDiagnostic; - -impl<'a, G: EmissionGuarantee> Diagnostic<'a, G> for TranslatableInDiagnostic { - fn into_diag(self, dcx: DiagCtxtHandle<'a>, level: Level) -> Diag<'a, G> { - Diag::new(dcx, level, crate::fluent_generated::no_crate_example) - } -} - -pub struct UntranslatableInAddtoDiag; - -impl Subdiagnostic for UntranslatableInAddtoDiag { - fn add_to_diag( - self, - diag: &mut Diag<'_, G>, - ) { - diag.note("untranslatable diagnostic"); - //~^ ERROR diagnostics should be created using translatable messages - } -} - -pub struct TranslatableInAddtoDiag; - -impl Subdiagnostic for TranslatableInAddtoDiag { - fn add_to_diag( - self, - diag: &mut Diag<'_, G>, - ) { - diag.note(crate::fluent_generated::no_crate_note); - } -} - -pub struct UntranslatableInLintDiagnostic; - -impl<'a> LintDiagnostic<'a, ()> for UntranslatableInLintDiagnostic { - fn decorate_lint<'b>(self, diag: &'b mut Diag<'a, ()>) { - diag.note("untranslatable diagnostic"); - //~^ ERROR diagnostics should be created using translatable messages - } -} - -pub struct TranslatableInLintDiagnostic; - -impl<'a> LintDiagnostic<'a, ()> for TranslatableInLintDiagnostic { - fn decorate_lint<'b>(self, diag: &'b mut Diag<'a, ()>) { - diag.note(crate::fluent_generated::no_crate_note); - } -} - -pub fn make_diagnostics<'a>(dcx: DiagCtxtHandle<'a>) { - let _diag = dcx.struct_err(crate::fluent_generated::no_crate_example); - //~^ ERROR diagnostics should only be created in `Diagnostic`/`Subdiagnostic`/`LintDiagnostic` impls - - let _diag = dcx.struct_err("untranslatable diagnostic"); - //~^ ERROR diagnostics should only be created in `Diagnostic`/`Subdiagnostic`/`LintDiagnostic` impls - //~^^ ERROR diagnostics should be created using translatable messages -} - -// Check that `rustc_lint_diagnostics`-annotated functions aren't themselves linted for -// `diagnostic_outside_of_impl`. -#[rustc_lint_diagnostics] -pub fn skipped_because_of_annotation<'a>(dcx: DiagCtxtHandle<'a>) { - let _diag = dcx.struct_err("untranslatable diagnostic"); // okay! -} - -// Check that multiple translatable params are allowed in a single function (at one point they -// weren't). -fn f(_x: impl Into, _y: impl Into) {} -fn g() { - f(crate::fluent_generated::no_crate_example, crate::fluent_generated::no_crate_example); - f("untranslatable diagnostic", crate::fluent_generated::no_crate_example); - //~^ ERROR diagnostics should be created using translatable messages - f(crate::fluent_generated::no_crate_example, "untranslatable diagnostic"); - //~^ ERROR diagnostics should be created using translatable messages - f("untranslatable diagnostic", "untranslatable diagnostic"); - //~^ ERROR diagnostics should be created using translatable messages - //~^^ ERROR diagnostics should be created using translatable messages -} diff --git a/tests/ui-fulldeps/internal-lints/diagnostics.stderr b/tests/ui-fulldeps/internal-lints/diagnostics.stderr deleted file mode 100644 index b260c4b7afef..000000000000 --- a/tests/ui-fulldeps/internal-lints/diagnostics.stderr +++ /dev/null @@ -1,74 +0,0 @@ -error: diagnostics should be created using translatable messages - --> $DIR/diagnostics.rs:43:31 - | -LL | Diag::new(dcx, level, "untranslatable diagnostic") - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - | -note: the lint level is defined here - --> $DIR/diagnostics.rs:7:9 - | -LL | #![deny(rustc::untranslatable_diagnostic)] - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error: diagnostics should be created using translatable messages - --> $DIR/diagnostics.rs:63:19 - | -LL | diag.note("untranslatable diagnostic"); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error: diagnostics should be created using translatable messages - --> $DIR/diagnostics.rs:83:19 - | -LL | diag.note("untranslatable diagnostic"); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error: diagnostics should only be created in `Diagnostic`/`Subdiagnostic`/`LintDiagnostic` impls - --> $DIR/diagnostics.rs:97:21 - | -LL | let _diag = dcx.struct_err(crate::fluent_generated::no_crate_example); - | ^^^^^^^^^^ - | -note: the lint level is defined here - --> $DIR/diagnostics.rs:8:9 - | -LL | #![deny(rustc::diagnostic_outside_of_impl)] - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error: diagnostics should only be created in `Diagnostic`/`Subdiagnostic`/`LintDiagnostic` impls - --> $DIR/diagnostics.rs:100:21 - | -LL | let _diag = dcx.struct_err("untranslatable diagnostic"); - | ^^^^^^^^^^ - -error: diagnostics should be created using translatable messages - --> $DIR/diagnostics.rs:100:32 - | -LL | let _diag = dcx.struct_err("untranslatable diagnostic"); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error: diagnostics should be created using translatable messages - --> $DIR/diagnostics.rs:118:7 - | -LL | f("untranslatable diagnostic", crate::fluent_generated::no_crate_example); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error: diagnostics should be created using translatable messages - --> $DIR/diagnostics.rs:120:50 - | -LL | f(crate::fluent_generated::no_crate_example, "untranslatable diagnostic"); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error: diagnostics should be created using translatable messages - --> $DIR/diagnostics.rs:122:7 - | -LL | f("untranslatable diagnostic", "untranslatable diagnostic"); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error: diagnostics should be created using translatable messages - --> $DIR/diagnostics.rs:122:36 - | -LL | f("untranslatable diagnostic", "untranslatable diagnostic"); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error: aborting due to 10 previous errors - diff --git a/tests/ui/internal-lints/diagnostics_incorrect.rs b/tests/ui/internal-lints/diagnostics_incorrect.rs deleted file mode 100644 index 787acdad3884..000000000000 --- a/tests/ui/internal-lints/diagnostics_incorrect.rs +++ /dev/null @@ -1,15 +0,0 @@ -//@ compile-flags: -Z unstable-options - -#![feature(rustc_attrs)] - -#[rustc_lint_diagnostics] -//~^ ERROR `#[rustc_lint_diagnostics]` attribute cannot be used on structs -struct Foo; - -impl Foo { - #[rustc_lint_diagnostics(a)] - //~^ ERROR malformed `rustc_lint_diagnostics` - fn bar() {} -} - -fn main() {} diff --git a/tests/ui/internal-lints/diagnostics_incorrect.stderr b/tests/ui/internal-lints/diagnostics_incorrect.stderr deleted file mode 100644 index 4d509acec790..000000000000 --- a/tests/ui/internal-lints/diagnostics_incorrect.stderr +++ /dev/null @@ -1,20 +0,0 @@ -error: `#[rustc_lint_diagnostics]` attribute cannot be used on structs - --> $DIR/diagnostics_incorrect.rs:5:1 - | -LL | #[rustc_lint_diagnostics] - | ^^^^^^^^^^^^^^^^^^^^^^^^^ - | - = help: `#[rustc_lint_diagnostics]` can only be applied to functions - -error[E0565]: malformed `rustc_lint_diagnostics` attribute input - --> $DIR/diagnostics_incorrect.rs:10:5 - | -LL | #[rustc_lint_diagnostics(a)] - | ^^^^^^^^^^^^^^^^^^^^^^^^---^ - | | | - | | didn't expect any arguments here - | help: must be of the form: `#[rustc_lint_diagnostics]` - -error: aborting due to 2 previous errors - -For more information about this error, try `rustc --explain E0565`.