Fix ICE with explicit late-bound lifetimes
This commit is contained in:
parent
4512721156
commit
fa351eefa0
5 changed files with 242 additions and 132 deletions
19
src/test/ui/issues/issue-72278.rs
Normal file
19
src/test/ui/issues/issue-72278.rs
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
// run-pass
|
||||
|
||||
#![allow(unused)]
|
||||
|
||||
struct S;
|
||||
|
||||
impl S {
|
||||
fn func<'a, U>(&'a self) -> U {
|
||||
todo!()
|
||||
}
|
||||
}
|
||||
|
||||
fn dont_crash<'a, U>() -> U {
|
||||
S.func::<'a, U>()
|
||||
//~^ WARN cannot specify lifetime arguments explicitly
|
||||
//~| WARN this was previously accepted
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
15
src/test/ui/issues/issue-72278.stderr
Normal file
15
src/test/ui/issues/issue-72278.stderr
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present
|
||||
--> $DIR/issue-72278.rs:14:14
|
||||
|
|
||||
LL | fn func<'a, U>(&'a self) -> U {
|
||||
| -- the late bound lifetime parameter is introduced here
|
||||
...
|
||||
LL | S.func::<'a, U>()
|
||||
| ^^
|
||||
|
|
||||
= note: `#[warn(late_bound_lifetime_arguments)]` on by default
|
||||
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
|
||||
= note: for more information, see issue #42868 <https://github.com/rust-lang/rust/issues/42868>
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue