写了一个具有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 }
- 上一篇 Lua:写了个基于协程的task调度库.
- 下一篇 深圳小学