Skip to content

Commit f25dac0

Browse files
committed
localize unsafe blocks in QT_WAKER_VTABLE
1 parent df696b5 commit f25dac0

File tree

1 file changed

+27
-29
lines changed

1 file changed

+27
-29
lines changed

qmetaobject/src/future.rs

Lines changed: 27 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -6,35 +6,33 @@ use std::task::{Context, Poll, RawWaker, RawWakerVTable, Waker};
66
use crate::connections::SignalArgArrayToTuple;
77

88

9-
static QT_WAKER_VTABLE: RawWakerVTable = unsafe {
10-
RawWakerVTable::new(
11-
|s: *const ()| {
12-
RawWaker::new(
13-
cpp!([s as "Waker *"] -> *const() as "Waker *" {
14-
s->refs++;
15-
return s;
16-
}),
17-
&QT_WAKER_VTABLE,
18-
)
19-
},
20-
|s: *const ()| {
21-
cpp!([s as "Waker *"] {
22-
s->wake();
23-
s->deref();
24-
})
25-
},
26-
|s: *const ()| {
27-
cpp!([s as "Waker *"] {
28-
s->wake();
29-
})
30-
},
31-
|s: *const ()| {
32-
cpp!([s as "Waker *"] {
33-
s->deref();
34-
})
35-
},
36-
)
37-
};
9+
static QT_WAKER_VTABLE: RawWakerVTable = RawWakerVTable::new(
10+
|s: *const ()| {
11+
RawWaker::new(
12+
cpp!(unsafe [s as "Waker *"] -> *const() as "Waker *" {
13+
s->refs++;
14+
return s;
15+
}),
16+
&QT_WAKER_VTABLE,
17+
)
18+
},
19+
|s: *const ()| {
20+
cpp!(unsafe [s as "Waker *"] {
21+
s->wake();
22+
s->deref();
23+
})
24+
},
25+
|s: *const ()| {
26+
cpp!(unsafe [s as "Waker *"] {
27+
s->wake();
28+
})
29+
},
30+
|s: *const ()| {
31+
cpp!(unsafe [s as "Waker *"] {
32+
s->deref();
33+
})
34+
},
35+
);
3836

3937
cpp! {{
4038

0 commit comments

Comments
 (0)