replacement in fluent_embed_interaction/src/prompt/select.rs at line 3
− use fluent_embed::{LocalizationError, Localize};
+ use fluent_embed::Localize;
replacement in fluent_embed_interaction/src/prompt/select.rs at line 17
− pub fn with_items<L: Localize>(mut self, items: &[L]) -> Result<Self, LocalizationError> {
+ pub fn with_items<L: Localize>(mut self, items: &[L]) -> Self {
replacement in fluent_embed_interaction/src/prompt/select.rs at line 21
[4.37]→[5.1013:1080](∅→∅),
[5.1013]→[5.1013:1080](∅→∅) − .collect::<Result<Vec<String>, LocalizationError>>()?;
+ .collect::<Vec<String>>();
replacement in fluent_embed_interaction/src/prompt/select.rs at line 24
[5.1125]→[5.1125:1142](∅→∅) replacement in fluent_embed_interaction/src/prompt/password.rs at line 3
[5.2163]→[5.2163:2212](∅→∅) − use fluent_embed::{LocalizationError, Localize};
+ use fluent_embed::Localize;
replacement in fluent_embed_interaction/src/prompt/password.rs at line 26
[5.2710]→[5.2710:2753](∅→∅),
[5.2753]→[4.38:158](∅→∅) − ) -> Result<Self, LocalizationError> {
− let confirmation_text = confirmation.localize()?;
− let mismatch_error_text = mismatch_error.localize()?;
+ ) -> Self {
+ let confirmation_text = confirmation.localize();
+ let mismatch_error_text = mismatch_error.localize();
replacement in fluent_embed_interaction/src/prompt/password.rs at line 35
[5.3200]→[5.3200:3217](∅→∅) replacement in fluent_embed_interaction/src/prompt/macros.rs at line 25
[5.4938]→[5.4938:5087](∅→∅),
[5.5087]→[4.159:216](∅→∅) − pub fn with_prompt<L: Localize>(
− mut self,
− prompt: L,
− ) -> Result<Self, LocalizationError> {
− let localized_text = prompt.localize()?;
+ pub fn with_prompt<L: fluent_embed::Localize>(mut self, prompt: L) -> Self {
+ let localized_text = prompt.localize();
replacement in fluent_embed_interaction/src/prompt/macros.rs at line 29
[5.5297]→[5.5297:5322](∅→∅) replacement in fluent_embed_interaction/src/prompt/macros.rs at line 38
[5.5441]→[5.5441:5532](∅→∅) − pub fn with_validator<L: Localize, V: Fn(&String) -> Result<(), L> + 'static>(
+ pub fn with_validator<
+ L: fluent_embed::Localize,
+ V: Fn(&String) -> Result<(), L> + 'static,
+ >(
replacement in fluent_embed_interaction/src/prompt/macros.rs at line 50
[5.5892]→[4.217:278](∅→∅) − Err(message.localize().unwrap())
+ Err(message.localize())
replacement in fluent_embed_interaction/src/prompt/input.rs at line 3
[5.6639]→[5.6639:6688](∅→∅) − use fluent_embed::{LocalizationError, Localize};
+ use fluent_embed::Localize;
replacement in fluent_embed_interaction/src/prompt/input.rs at line 17
[5.6941]→[5.6941:7037](∅→∅),
[5.7037]→[4.279:329](∅→∅) − pub fn with_default<L: Localize>(mut self, default: L) -> Result<Self, LocalizationError> {
− let localized_text = default.localize()?;
+ pub fn with_default<L: Localize>(mut self, default: L) -> Self {
+ let localized_text = default.localize();
replacement in fluent_embed_interaction/src/prompt/input.rs at line 21
[5.7217]→[5.7217:7234](∅→∅) edit in fluent_embed_interaction/src/prompt/confirm.rs at line 3
[5.8289]→[5.8289:8338](∅→∅) − use fluent_embed::{LocalizationError, Localize};
replacement in fluent_embed_interaction/src/progress.rs at line 2
− use fluent_embed::{LocalizationError, Localize};
+ use fluent_embed::Localize;
replacement in fluent_embed_interaction/src/progress.rs at line 25
[5.1231]→[5.1231:1327](∅→∅),
[5.1327]→[4.330:380](∅→∅) − pub fn with_message<L: Localize>(mut self, message: L) -> Result<Self, LocalizationError> {
− let localized_text = message.localize()?;
+ pub fn with_message<L: Localize>(mut self, message: L) -> Self {
+ let localized_text = message.localize();
replacement in fluent_embed_interaction/src/progress.rs at line 29
[5.1538]→[5.1538:1555](∅→∅) replacement in fluent_embed_derive/tests/common/mod.rs at line 9
[5.3249]→[5.3249:3399](∅→∅) − let mut buffer = Vec::new();
− message.message_for_locale(&mut buffer, &locale).unwrap();
− let result = String::from_utf8(buffer).unwrap();
−
+ let result = message.message_for_locale(&locale);
replacement in fluent_embed_derive/src/macro_impl/mod.rs at line 87
replacement in fluent_embed_derive/src/macro_impl/mod.rs at line 100
replacement in fluent_embed_derive/src/macro_impl/mod.rs at line 121
[5.1022]→[5.1022:1042](∅→∅) replacement in fluent_embed_derive/src/macro_impl/mod.rs at line 178
[5.1868]→[5.283:337](∅→∅) − fn message_for_locale<W: std::io::Write>(
edit in fluent_embed_derive/src/macro_impl/mod.rs at line 180
replacement in fluent_embed_derive/src/macro_impl/mod.rs at line 181
[5.426]→[5.581:646](∅→∅),
[5.581]→[5.581:646](∅→∅) − ) -> Result<(), ::fluent_embed::LocalizationError> {
edit in fluent_embed_derive/src/macro_impl/derive.rs at line 41
+ let mut buffer = String::new();
+
replacement in fluent_embed_derive/src/macro_impl/derive.rs at line 53
replacement in fluent_embed_derive/src/macro_impl/derive.rs at line 58
replacement in fluent_embed_derive/src/macro_impl/derive.rs at line 111
[5.2575]→[5.2575:2591](∅→∅) replacement in fluent_embed_derive/src/macro_impl/derive.rs at line 167
[5.2906]→[5.2906:2926](∅→∅) replacement in fluent_embed_derive/src/macro_impl/derive.rs at line 184
[5.3146]→[5.3146:3166](∅→∅) replacement in fluent_embed_derive/src/lib.rs at line 53
[5.2886]→[5.406:476](∅→∅) − fn message_for_locale<W: std::io::Write>(
edit in fluent_embed_derive/src/lib.rs at line 55
[5.2976]→[5.2976:3024](∅→∅) replacement in fluent_embed_derive/src/lib.rs at line 56
[5.3113]→[5.3113:3194](∅→∅) − ) -> Result<(), ::fluent_embed::LocalizationError> {
replacement in fluent_embed_derive/src/fluent/ast.rs at line 20
[2.898]→[5.1029:1219](∅→∅),
[5.1029]→[5.1029:1219](∅→∅) − let byte_string_literal = proc_macro2::Literal::byte_string(value.as_bytes());
− write_expressions.push(parse_quote!(writer.write_all(#byte_string_literal)?));
+ write_expressions.push(parse_quote!(buffer.push_str(#value)));
replacement in fluent_embed_derive/src/fluent/ast.rs at line 72
[5.2973]→[5.1617:1703](∅→∅) − parse_quote!(#expression.message_for_locale(writer, locale)?)
+ parse_quote!(buffer.push_str(&#expression.message_for_locale(locale)))
replacement in fluent_embed/src/time.rs at line 1
[5.53]→[5.3724:3766](∅→∅) − use crate::{LocalizationError, Localize};
replacement in fluent_embed/src/time.rs at line 5
− options::Numeric, RelativeTimeFormatter, RelativeTimeFormatterOptions,
+ RelativeTimeFormatter, RelativeTimeFormatterOptions, options::Numeric,
replacement in fluent_embed/src/time.rs at line 7
[5.221]→[5.1523:1569](∅→∅),
[5.1569]→[5.296:350](∅→∅),
[5.296]→[5.296:350](∅→∅) − use icu_locale::{langid, LanguageIdentifier};
− use jiff::{tz::TimeZone, SpanRound, Timestamp, Unit};
+ use icu_locale::{LanguageIdentifier, langid};
+ use jiff::{SpanRound, Timestamp, Unit, tz::TimeZone};
replacement in fluent_embed/src/time.rs at line 23
[5.125]→[5.546:592](∅→∅),
[5.592]→[5.4149:4266](∅→∅),
[5.4149]→[5.4149:4266](∅→∅) − fn message_for_locale<W: std::io::Write>(
− &self,
− writer: &mut W,
− locale: &LanguageIdentifier,
− ) -> Result<(), LocalizationError> {
+ fn message_for_locale(&self, locale: &LanguageIdentifier) -> String {
replacement in fluent_embed/src/time.rs at line 108
[5.4323]→[5.4323:4324](∅→∅),
[5.4324]→[5.2572:2638](∅→∅),
[5.2638]→[5.4396:4421](∅→∅),
[5.4396]→[5.4396:4421](∅→∅),
[5.4421]→[5.249:250](∅→∅),
[5.4358]→[5.249:250](∅→∅),
[5.250]→[5.4422:4437](∅→∅) −
− writer.write_all(formatted_text.to_string().as_bytes())?;
− writer.flush()?;
−
− Ok(())
+ formatted_text.to_string()
replacement in fluent_embed/src/string.rs at line 7
[5.170]→[5.2639:2685](∅→∅) − use icu_locale::{langid, LanguageIdentifier};
+ use icu_locale::{LanguageIdentifier, langid};
replacement in fluent_embed/src/string.rs at line 24
[5.639]→[5.662:708](∅→∅),
[5.708]→[5.666:850](∅→∅),
[5.666]→[5.666:850](∅→∅) − fn message_for_locale<W: std::io::Write>(
− &self,
− writer: &mut W,
− _locale: &LanguageIdentifier,
− ) -> Result<(), crate::LocalizationError> {
− writer.write_all(self.as_bytes())?;
− Ok(())
+ fn message_for_locale(&self, _locale: &LanguageIdentifier) -> String {
+ self.to_string()
edit in fluent_embed/src/lib.rs at line 17
[5.406]→[5.4438:4502](∅→∅),
[5.4561]→[5.4561:4642](∅→∅),
[5.4642]→[5.0:100](∅→∅),
[5.100]→[3.57:213](∅→∅),
[5.100]→[5.4642:4645](∅→∅),
[3.213]→[5.4642:4645](∅→∅),
[5.4642]→[5.4642:4645](∅→∅) − #[derive(thiserror::Error, Debug)]
− pub enum LocalizationError {
− #[error("unable to write localized output")]
− IO(#[from] std::io::Error),
− #[error("unable to retrieve system locales")]
− RetrievalError(env_preferences::LocaleError),
− #[error("unable to parse localized output as a UTF-8 string. This is a bug in `fluent_embed`.")]
− InvalidOutput(#[from] std::string::FromUtf8Error),
− }
−
replacement in fluent_embed/src/lib.rs at line 22
[5.4813]→[5.731:777](∅→∅),
[5.777]→[5.4840:4956](∅→∅),
[5.4840]→[5.4840:4956](∅→∅) − fn message_for_locale<W: std::io::Write>(
− &self,
− writer: &mut W,
− locale: &LanguageIdentifier,
− ) -> Result<(), LocalizationError>;
+ fn message_for_locale(&self, locale: &LanguageIdentifier) -> String;
replacement in fluent_embed/src/lib.rs at line 38
[5.3447]→[4.381:443](∅→∅),
[4.443]→[5.321:460](∅→∅),
[5.871]→[5.321:460](∅→∅),
[5.5031]→[5.321:460](∅→∅) − fn localize(&self) -> Result<String, LocalizationError> {
− let system_locales = env_preferences::get_locales_lossy()
− .map_err(|error| LocalizationError::RetrievalError(error))?;
+ fn localize(&self) -> String {
+ let system_locales =
+ env_preferences::get_locales_lossy().unwrap_or(vec![Self::CANONICAL_LOCALE.into()]);
edit in fluent_embed/src/lib.rs at line 60
− let mut buffer = Vec::new();
edit in fluent_embed/src/lib.rs at line 61
[5.3805]→[4.483:508](∅→∅) replacement in fluent_embed/src/lib.rs at line 62
[5.3914]→[4.509:606](∅→∅) − )?;
−
− let localized_text = String::from_utf8(buffer)?;
− Ok(localized_text)
replacement in fluent_embed/src/decimal.rs at line 37
[5.4036]→[5.941:987](∅→∅) − fn message_for_locale<W: std::io::Write>(
edit in fluent_embed/src/decimal.rs at line 39
[5.4078]→[5.4078:4102](∅→∅) replacement in fluent_embed/src/decimal.rs at line 40
[5.4139]→[5.4139:4187](∅→∅) − ) -> Result<(), crate::LocalizationError> {
replacement in fluent_embed/src/decimal.rs at line 42
[5.4227]→[5.4227:4284](∅→∅) − fixed_decimal.message_for_locale(writer, locale)
+ fixed_decimal.message_for_locale(locale)
replacement in fluent_embed/src/decimal.rs at line 54
[5.4621]→[5.1055:1101](∅→∅) − fn message_for_locale<W: std::io::Write>(
edit in fluent_embed/src/decimal.rs at line 56
[5.4663]→[5.4663:4687](∅→∅) replacement in fluent_embed/src/decimal.rs at line 57
[5.4724]→[5.4724:4772](∅→∅) − ) -> Result<(), crate::LocalizationError> {
replacement in fluent_embed/src/decimal.rs at line 63
[5.5030]→[5.5079:5148](∅→∅),
[5.5148]→[5.5105:5120](∅→∅),
[5.5105]→[5.5105:5120](∅→∅) − writer.write_all(formatted_decimal.to_string().as_bytes())?;
− Ok(())
+ formatted_decimal.to_string()