about summary refs log tree commit diff
path: root/src/rustllvm/CoverageMappingWrapper.cpp
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2020-05-24 10:34:03 -0700
committerEsteban Küber <esteban@kuber.com.ar>2020-05-30 10:19:41 -0700
commitf49ebbb891c2b6d3226bf77fd82c9cd22e389f32 (patch)
treece6925e88d2a4ec61aaa28d11a0a757d8ef3a0d8 /src/rustllvm/CoverageMappingWrapper.cpp
parent74e80468347471779be6060d8d7d6d04e98e467f (diff)
downloadrust-f49ebbb891c2b6d3226bf77fd82c9cd22e389f32.tar.gz
rust-f49ebbb891c2b6d3226bf77fd82c9cd22e389f32.zip
Account for missing lifetime in opaque return type
When encountering an opaque closure return type that needs to bound a
lifetime to the function's arguments, including borrows and type params,
provide appropriate suggestions that lead to working code.

Get the user from

```rust
fn foo<G, T>(g: G, dest: &mut T) -> impl FnOnce()
where
    G: Get<T>
{
    move || {
        *dest = g.get();
    }
}
```

to

```rust
fn foo<'a, G: 'a, T>(g: G, dest: &'a mut T) -> impl FnOnce() +'a
where
    G: Get<T>
{
    move || {
        *dest = g.get();
    }
}
```
Diffstat (limited to 'src/rustllvm/CoverageMappingWrapper.cpp')
0 files changed, 0 insertions, 0 deletions