Skip to content

Reasons for feature removals are not translatable #123920

Open
@Xiretza

Description

@Xiretza

Code

#![feature(box_syntax)]

fn main() {}

Current output

error[E0557]: feature has been removed
 --> foo.rs:1:12
  |
1 | #![feature(box_syntax)]
  |            ^^^^^^^^^^ feature has been removed
  |
  = note: replaced with `#[rustc_box]`

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0557`.

Desired output

The note ("replaced with #[rustc_box]") should be translatable, rather than hard-coded in compiler/rustc_feature/src/removed.rs.

Rationale and extra context

The reason field in RemovedFeature cannot simply be replaced with a DiagMessage because rustc_features cannot depend on rustc_errors (cyclic dependency). I don't know how to solve this.

Other cases

No response

Rust Version

rustc 1.79.0-nightly (79424056b 2024-04-12)
binary: rustc
commit-hash: 79424056b05eaa9563d16dfab9b9a0c8f033f220
commit-date: 2024-04-12
host: x86_64-unknown-linux-gnu
release: 1.79.0-nightly
LLVM version: 18.1.3

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-diagnosticsArea: Messages for errors, warnings, and lintsA-translationArea: Translation infrastructure, and migrating existing diagnostics to SessionDiagnosticP-lowLow priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions