Skip to content

Commit ada6d5c

Browse files
committed
glib: VariantType::new_maybe
1 parent 27d4e1d commit ada6d5c

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

glib/src/variant.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1239,10 +1239,7 @@ impl ToVariant for std::ffi::OsStr {
12391239

12401240
impl<T: StaticVariantType> StaticVariantType for Option<T> {
12411241
fn static_variant_type() -> Cow<'static, VariantTy> {
1242-
unsafe {
1243-
let ptr = ffi::g_variant_type_new_maybe(T::static_variant_type().to_glib_none().0);
1244-
Cow::Owned(from_glib_full(ptr))
1245-
}
1242+
Cow::Owned(VariantType::new_maybe(&T::static_variant_type()))
12461243
}
12471244
}
12481245

glib/src/variant_type.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,13 @@ impl VariantType {
5757
unsafe { from_glib_full(ffi::g_variant_type_new_array(elem_type.to_glib_none().0)) }
5858
}
5959

60+
// rustdoc-stripper-ignore-next
61+
/// Creates a `VariantType` from a maybe element type.
62+
#[doc(alias = "g_variant_type_new_maybe")]
63+
pub fn new_maybe(child_type: &VariantTy) -> VariantType {
64+
unsafe { from_glib_full(ffi::g_variant_type_new_maybe(child_type.to_glib_none().0)) }
65+
}
66+
6067
// rustdoc-stripper-ignore-next
6168
/// Tries to create a `VariantType` from an owned string.
6269
///

0 commit comments

Comments
 (0)