diff options
| author | Esteban Küber <esteban@kuber.com.ar> | 2024-05-03 21:42:34 +0000 |
|---|---|---|
| committer | Esteban Küber <esteban@kuber.com.ar> | 2024-05-17 20:31:13 +0000 |
| commit | 9f730e92f24ebd21b94112e46a0e44bdf7730e27 (patch) | |
| tree | 90c35d6bce822fd2a39d75f08371332e1d3b35ec /compiler/rustc_codegen_llvm/src/errors.rs | |
| parent | 1a7397988684934ae01a71f524bdfff24895d8cc (diff) | |
| download | rust-9f730e92f24ebd21b94112e46a0e44bdf7730e27.tar.gz rust-9f730e92f24ebd21b94112e46a0e44bdf7730e27.zip | |
Suggest setting lifetime in borrowck error involving types with elided lifetimes
```
error: lifetime may not live long enough
--> $DIR/ex3-both-anon-regions-both-are-structs-2.rs:7:5
|
LL | fn foo(mut x: Ref, y: Ref) {
| ----- - has type `Ref<'_, '1>`
| |
| has type `Ref<'_, '2>`
LL | x.b = y.b;
| ^^^^^^^^^ assignment requires that `'1` must outlive `'2`
|
help: consider introducing a named lifetime parameter
|
LL | fn foo<'a>(mut x: Ref<'a, 'a>, y: Ref<'a, 'a>) {
| ++++ ++++++++ ++++++++
```
As can be seen above, it currently doesn't try to compare the `ty::Ty` lifetimes that diverged vs the `hir::Ty` to correctly suggest the following
```
help: consider introducing a named lifetime parameter
|
LL | fn foo<'a>(mut x: Ref<'_, 'a>, y: Ref<'_, 'a>) {
| ++++ ++++++++ ++++++++
```
but I believe this to still be an improvement over the status quo.
CC #40990.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/errors.rs')
0 files changed, 0 insertions, 0 deletions
