Backport official GLib iterator safety fix for Linux desktop

This commit is contained in:
karl committed 2026-10-13 10:35:50 +02:00
1 parent 43c43ebdc9
commit 8ef874c609
133 files changed
+55342 -2

No files matched your search

+33
View File
@@ -0,0 +1,33 @@
use std::marker::PhantomData;
use glib::{Downgrade, Object};
#[test]
fn derive_downgrade() {
#[derive(Downgrade)]
pub struct NewType(Object);
#[derive(Downgrade)]
pub struct Struct {
o1: Object,
o2: std::rc::Rc<u32>,
}
#[derive(Downgrade)]
pub enum Enum {
None,
Pair { x: Object, y: Object },
Unit(),
SingleUnnamed(Object),
MultipleUnnamed(Object, Object, Object),
}
#[derive(Downgrade)]
pub struct TypedWrapper<T>(Object, PhantomData<T>);
#[derive(Downgrade)]
pub enum TypedEnum<T> {
This(Object, PhantomData<T>),
That(Object, PhantomData<T>),
}
}