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() {}
|