2 个版本
0.2.1 | 2022年12月8日 |
---|---|
0.2.0 | 2022年12月8日 |
0.1.3 |
|
#11 in #中止
每月 25 次下载
用于 async-component-winit
5KB
57 行
Ref Extended
通过缩短整个程序的生命周期来扩展引用的生命周期,使其与值的生命周期相同
何时使用?
- 您正在进行不涉及堆分配的编程(例如嵌入式编程),并且不想使用静态。
- 您运行了一些会自行退出进程而不返回的分歧函数。
示例
let mut a = 2_i32; // The lifetime of value itself(not reference) is 'static
// Safely extend lifetimes and abort after expression finish
ref_extended!(|&a| {
identity::<&'static i32>(a); // This compiles
});
// Unreachable. Process abort