]> git.lizzy.rs Git - rust.git/commitdiff
Rollup merge of #106747 - yanchen4791:issue-105507-fix, r=estebank
authorMatthias Krüger <matthias.krueger@famsik.de>
Wed, 18 Jan 2023 05:59:20 +0000 (06:59 +0100)
committerGitHub <noreply@github.com>
Wed, 18 Jan 2023 05:59:20 +0000 (06:59 +0100)
Add 'static lifetime suggestion when GAT implied 'static requirement from HRTB

Fix for issue #105507

The problem:
When generic associated types (GATs) are from higher-ranked trait bounds (HRTB), they are implied 'static requirement (see
[Implied 'static requirement from higher-ranked trait bounds](https://blog.rust-lang.org/2022/10/28/gats-stabilization.html#implied-static-requirement-from-higher-ranked-trait-bounds) for more details). If the user did not explicitly specify the `'static` lifetime when using the GAT, the current error message will only point out the type `does not live long enough` where the type is used, but not where the GAT is specified and how to fix the problem.

The solution:
Add notes at the span where the problematic GATs are specified and suggestions of how to fix the problem by adding `'static` lifetime at the right spans.

1  2 
compiler/rustc_borrowck/src/region_infer/mod.rs
compiler/rustc_middle/src/ty/sty.rs

Simple merge