Backport official GLib iterator safety fix for Linux desktop
This commit is contained in:
1 parent
43c43ebdc9
commit
8ef874c609
133 files changed
+55342
-2
No files matched your search
@@ -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>),
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user