about summary refs log tree commit diff
path: root/src/libsyntax/parse/parser
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-08-14 04:18:48 +0200
committerGitHub <noreply@github.com>2019-08-14 04:18:48 +0200
commit4134241bcf79a77c724158cc388a746499c5fa06 (patch)
tree5b37ae4e4c011e52ae2e483ced4f0b5b69916f9c /src/libsyntax/parse/parser
parent0098d0c514208122ca63e652b5614da01fe210f1 (diff)
parent18d69c8ebe7b313d574014e6585680f78bd2e157 (diff)
downloadrust-4134241bcf79a77c724158cc388a746499c5fa06.tar.gz
rust-4134241bcf79a77c724158cc388a746499c5fa06.zip
Rollup merge of #63499 - nikomatsakis:issuee-63388-async-fn-elision-self-mut-self, r=cramertj
handle elision in async fn correctly

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, '_>
```

Fixes #63388
Diffstat (limited to 'src/libsyntax/parse/parser')
0 files changed, 0 insertions, 0 deletions