写了一个具有future接口的rust测试代码

写了一个具有future接口的rust测试代码

但没有实现future功能,内部是直接求值

 

 1 struct Future<T> {
 2     t: T,
 3 }
 4 
 5 impl<T> Future<T> {
 6     fn new(callback: impl FnOnce() -> T) -> Future<T> {
 7         Future { t: callback() }
 8     }
 9     fn then<T2>(self, callback: impl FnOnce(T) -> T2) -> Future<T2> {
10         Future {
11             t: callback(self.t),
12         }
13     }
14 }
15 
16 #[test]
17 fn t1() {
18     let f1 = Future::new(|| 1);
19     let f2 = f1.then(|x| format!("s={}", x + 1));
20     println!("{}", f2.t);
21 }

 

posted on 2019-06-19 23:57  cutepig  阅读(470)  评论(0编辑  收藏  举报

导航