Rollup merge of #151326 - translated, r=davidtwco
Remove `DiagMessage::Translated` in favour of `DiagMessage::Str` This variant did not seem to be meaningfully different from `DiagMessage::Str`. Am I missing something or was this just an oversight? r? @davidtwco
This commit is contained in:
commit
e8c3dd36f8
3 changed files with 7 additions and 19 deletions
|
|
@ -244,13 +244,6 @@ type FluentId = Cow<'static, str>;
|
|||
pub enum SubdiagMessage {
|
||||
/// Non-translatable diagnostic message.
|
||||
Str(Cow<'static, str>),
|
||||
/// Translatable message which has already been translated eagerly.
|
||||
///
|
||||
/// Some diagnostics have repeated subdiagnostics where the same interpolated variables would
|
||||
/// be instantiated multiple times with different values. These subdiagnostics' messages
|
||||
/// are translated when they are added to the parent diagnostic, producing this variant of
|
||||
/// `DiagMessage`.
|
||||
Translated(Cow<'static, str>),
|
||||
/// Identifier of a Fluent message. Instances of this variant are generated by the
|
||||
/// `Subdiagnostic` derive.
|
||||
FluentIdentifier(FluentId),
|
||||
|
|
@ -285,15 +278,13 @@ impl From<Cow<'static, str>> for SubdiagMessage {
|
|||
#[derive(Clone, Debug, PartialEq, Eq, Hash, Encodable, Decodable)]
|
||||
#[rustc_diagnostic_item = "DiagMessage"]
|
||||
pub enum DiagMessage {
|
||||
/// Non-translatable diagnostic message.
|
||||
Str(Cow<'static, str>),
|
||||
/// Translatable message which has been already translated.
|
||||
/// Non-translatable diagnostic message or a message that has been translated eagerly.
|
||||
///
|
||||
/// Some diagnostics have repeated subdiagnostics where the same interpolated variables would
|
||||
/// be instantiated multiple times with different values. These subdiagnostics' messages
|
||||
/// are translated when they are added to the parent diagnostic, producing this variant of
|
||||
/// `DiagMessage`.
|
||||
Translated(Cow<'static, str>),
|
||||
/// are translated when they are added to the parent diagnostic. This is one of the ways
|
||||
/// this variant of `DiagMessage` is produced.
|
||||
Str(Cow<'static, str>),
|
||||
/// Identifier for a Fluent message (with optional attribute) corresponding to the diagnostic
|
||||
/// message. Yet to be translated.
|
||||
///
|
||||
|
|
@ -311,7 +302,6 @@ impl DiagMessage {
|
|||
pub fn with_subdiagnostic_message(&self, sub: SubdiagMessage) -> Self {
|
||||
let attr = match sub {
|
||||
SubdiagMessage::Str(s) => return DiagMessage::Str(s),
|
||||
SubdiagMessage::Translated(s) => return DiagMessage::Translated(s),
|
||||
SubdiagMessage::FluentIdentifier(id) => {
|
||||
return DiagMessage::FluentIdentifier(id, None);
|
||||
}
|
||||
|
|
@ -320,7 +310,6 @@ impl DiagMessage {
|
|||
|
||||
match self {
|
||||
DiagMessage::Str(s) => DiagMessage::Str(s.clone()),
|
||||
DiagMessage::Translated(s) => DiagMessage::Translated(s.clone()),
|
||||
DiagMessage::FluentIdentifier(id, _) => {
|
||||
DiagMessage::FluentIdentifier(id.clone(), Some(attr))
|
||||
}
|
||||
|
|
@ -329,7 +318,7 @@ impl DiagMessage {
|
|||
|
||||
pub fn as_str(&self) -> Option<&str> {
|
||||
match self {
|
||||
DiagMessage::Translated(s) | DiagMessage::Str(s) => Some(s),
|
||||
DiagMessage::Str(s) => Some(s),
|
||||
DiagMessage::FluentIdentifier(_, _) => None,
|
||||
}
|
||||
}
|
||||
|
|
@ -360,7 +349,6 @@ impl From<DiagMessage> for SubdiagMessage {
|
|||
fn from(val: DiagMessage) -> Self {
|
||||
match val {
|
||||
DiagMessage::Str(s) => SubdiagMessage::Str(s),
|
||||
DiagMessage::Translated(s) => SubdiagMessage::Translated(s),
|
||||
DiagMessage::FluentIdentifier(id, None) => SubdiagMessage::FluentIdentifier(id),
|
||||
// There isn't really a sensible behaviour for this because it loses information but
|
||||
// this is the most sensible of the behaviours.
|
||||
|
|
|
|||
|
|
@ -1708,7 +1708,7 @@ impl DiagCtxtInner {
|
|||
message: DiagMessage,
|
||||
args: impl Iterator<Item = DiagArg<'a>>,
|
||||
) -> SubdiagMessage {
|
||||
SubdiagMessage::Translated(Cow::from(self.eagerly_translate_to_string(message, args)))
|
||||
SubdiagMessage::Str(Cow::from(self.eagerly_translate_to_string(message, args)))
|
||||
}
|
||||
|
||||
/// Translate `message` eagerly with `args` to `String`.
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ impl Translator {
|
|||
) -> Result<Cow<'a, str>, TranslateError<'a>> {
|
||||
trace!(?message, ?args);
|
||||
let (identifier, attr) = match message {
|
||||
DiagMessage::Str(msg) | DiagMessage::Translated(msg) => {
|
||||
DiagMessage::Str(msg) => {
|
||||
return Ok(Cow::Borrowed(msg));
|
||||
}
|
||||
DiagMessage::FluentIdentifier(identifier, attr) => (identifier, attr),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue