2个版本
使用旧Rust 2015
0.0.1 | 2018年5月2日 |
---|---|
0.0.0 | 2018年4月6日 |
#9 in #兼容
19KB
447 行
futures-compat
这是[futures] v0.1和v0.2之间的兼容层。它提供了实现,允许从v0.1实现的类型作为v0.2的Future
使用,反之亦然。
注意:任务本地数据实际上不起作用,要让其工作需要糟糕的不安全黑客技术。如果需求足够,可能可以完成。
示例
将v0.1 Future作为v0.2使用
extern crate futures_compat;
use futures_compat::futures_01::FutureInto02;
let futv01 = some_lib_that_hasnt_upgraded();
let futv02 = futv01.into_02_compat()
.map(|val| {
println!("map from v0.2! {:?}", val);
Ok(())
});
// spawn in a futures 0.2 executor
将v0.2 Future作为v0.1使用
extern crate futures_compat;
use futures_compat::futures_01::FutureInto01;
let futv02 = some_lib_using_the_new_hotness();
let exec = get_my_current_executor();
let futv01 = futv02.into_01_compat(exec)
.map(|val| {
println!("map from v0.1! {:?}", val);
Ok(())
});
// spawn in a futures 0.1 executor
futv01.wait().unwrap();
依赖
~660KB
~11K SLoC