diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2019-08-12 17:15:33 -0400 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2019-08-12 17:18:26 -0400 |
| commit | 03e7b9628199f5c82d083cd02116c4424a31f47f (patch) | |
| tree | 0507d77bf3f3b2f320cedb58c2c8fb6a7f412835 /src/test/debuginfo/enum-thinlto.rs | |
| parent | 5ce8f7a1f98072d9df9fb562526151b83ecfe879 (diff) | |
| download | rust-03e7b9628199f5c82d083cd02116c4424a31f47f.tar.gz rust-03e7b9628199f5c82d083cd02116c4424a31f47f.zip | |
revamp how we handle elision in async fn
We now always make fresh lifetimne parameters for all elided
lifetimes, whether they are in the inputs or outputs. But then
we generate `'_` in the case of elided lifetimes from the outputs.
Example:
```rust
async fn foo<'a>(x: &'a u32) -> &u32 { .. }
```
becomes
```rust
type Foo<'a, 'b> = impl Future<Output = &'b u32>;
fn foo<'a>(x: &'a u32) -> Foo<'a, '_>
```
Diffstat (limited to 'src/test/debuginfo/enum-thinlto.rs')
0 files changed, 0 insertions, 0 deletions
