2018-08-30 14:18:55 +02:00
|
|
|
//@ run-pass
|
2018-09-25 23:51:35 +02:00
|
|
|
#![allow(dead_code)]
|
2015-03-22 13:13:15 -07:00
|
|
|
|
2013-06-27 16:53:40 -07:00
|
|
|
pub trait EventLoop {
|
2015-02-12 10:29:52 -05:00
|
|
|
fn dummy(&self) { }
|
2013-06-27 16:53:40 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
pub struct UvEventLoop {
|
2015-03-25 17:06:52 -07:00
|
|
|
uvio: isize
|
2013-06-27 16:53:40 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
impl UvEventLoop {
|
|
|
|
pub fn new() -> UvEventLoop {
|
|
|
|
UvEventLoop {
|
|
|
|
uvio: 0
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl EventLoop for UvEventLoop {
|
|
|
|
}
|
|
|
|
|
|
|
|
pub struct Scheduler {
|
2019-05-28 14:47:21 -04:00
|
|
|
event_loop: Box<dyn EventLoop+'static>,
|
2013-06-27 16:53:40 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
impl Scheduler {
|
|
|
|
|
2019-05-28 14:47:21 -04:00
|
|
|
pub fn new(event_loop: Box<dyn EventLoop+'static>) -> Scheduler {
|
2013-06-27 16:53:40 -07:00
|
|
|
Scheduler {
|
|
|
|
event_loop: event_loop,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2013-09-25 00:43:37 -07:00
|
|
|
pub fn main() {
|
2022-07-07 04:36:10 +02:00
|
|
|
let _sched = Scheduler::new(Box::new(UvEventLoop::new()) as Box<dyn EventLoop>);
|
2013-06-27 16:53:40 -07:00
|
|
|
}
|