Skip to content

Commit 684c326

Browse files
authored
Merge pull request #828 from sdroege/pango-from-string-infallabile
pango: Make `pango::Language::from_string()` infallible
2 parents 4d5ef12 + 374aaa4 commit 684c326

File tree

3 files changed

+10
-8
lines changed

3 files changed

+10
-8
lines changed

pango/Gir.toml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,8 +344,12 @@ status = "generate"
344344
const = true
345345
[[object.function]]
346346
name = "from_string"
347+
# This only returns NULL when passing NULL
348+
[[object.function.parameter]]
349+
name = "language"
350+
nullable = false
347351
[object.function.return]
348-
nullable_return_is_error = "Can't parse Language"
352+
nullable = false
349353

350354
[[object]]
351355
name = "Pango.Layout"

pango/src/auto/language.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,8 @@ impl Language {
5959
}
6060

6161
#[doc(alias = "pango_language_from_string")]
62-
pub fn from_string(language: Option<&str>) -> Result<Language, glib::BoolError> {
63-
unsafe {
64-
Option::<_>::from_glib_none(ffi::pango_language_from_string(language.to_glib_none().0))
65-
.ok_or_else(|| glib::bool_error!("Can't parse Language"))
66-
}
62+
pub fn from_string(language: &str) -> Language {
63+
unsafe { from_glib_none(ffi::pango_language_from_string(language.to_glib_none().0)) }
6764
}
6865

6966
#[doc(alias = "pango_language_get_default")]

pango/src/language.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,9 @@ impl Language {
4444
}
4545

4646
impl FromStr for Language {
47-
type Err = glib::BoolError;
47+
type Err = std::convert::Infallible;
48+
4849
fn from_str(language: &str) -> Result<Self, Self::Err> {
49-
Self::from_string(Some(language))
50+
Ok(Self::from_string(language))
5051
}
5152
}

0 commit comments

Comments
 (0)