2 releases
0.2.1 | Dec 8, 2022 |
---|---|
0.2.0 | Dec 8, 2022 |
0.1.3 |
|
#8 in #abort
25 downloads per month
Used in async-component-winit
5KB
57 lines
Ref Extended
Extends lifetime of reference to same as lifetime of value by shortening entire program lifetime
When it is useful?
- You are doing programming without heap allocation (such as embed programming), and don't want to use static.
- You run some diverging functions which exit process itself without returning.
Example
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