]> git.lizzy.rs Git - rust.git/blob - src/test/run-pass/issue-5192.rs
rollup merge of #19589: huonw/unboxed-closure-elision
[rust.git] / src / test / run-pass / issue-5192.rs
1 // Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
4 //
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
10
11
12 pub trait EventLoop {
13 }
14
15 pub struct UvEventLoop {
16     uvio: int
17 }
18
19 impl UvEventLoop {
20     pub fn new() -> UvEventLoop {
21         UvEventLoop {
22             uvio: 0
23         }
24     }
25 }
26
27 impl EventLoop for UvEventLoop {
28 }
29
30 pub struct Scheduler {
31     event_loop: Box<EventLoop+'static>,
32 }
33
34 impl Scheduler {
35
36     pub fn new(event_loop: Box<EventLoop+'static>) -> Scheduler {
37         Scheduler {
38             event_loop: event_loop,
39         }
40     }
41 }
42
43 pub fn main() {
44     let _sched = Scheduler::new(box UvEventLoop::new() as Box<EventLoop>);
45 }