30 lines
436 B
Rust
30 lines
436 B
Rust
|
#[derive(Clone)]
|
||
|
pub struct Custom;
|
||
|
|
||
|
impl Custom {
|
||
|
pub fn wake(self) {}
|
||
|
}
|
||
|
|
||
|
macro_rules! mac {
|
||
|
($cx:ident) => {
|
||
|
$cx.waker()
|
||
|
};
|
||
|
}
|
||
|
|
||
|
pub fn wake(cx: &mut std::task::Context) {
|
||
|
cx.waker().wake_by_ref();
|
||
|
|
||
|
mac!(cx).wake_by_ref();
|
||
|
}
|
||
|
|
||
|
pub fn no_lint(cx: &mut std::task::Context, c: &Custom) {
|
||
|
c.clone().wake();
|
||
|
|
||
|
let w = cx.waker().clone();
|
||
|
w.wake();
|
||
|
|
||
|
cx.waker().clone().wake_by_ref();
|
||
|
}
|
||
|
|
||
|
fn main() {}
|