1
Fork 0

Further tweak wording of E0759 and introduce E0767

This commit is contained in:
Esteban Küber 2020-06-29 11:14:42 -07:00
parent 6bac3dbfc2
commit 7bf39fa9d9
43 changed files with 280 additions and 167 deletions

View file

@ -17,7 +17,7 @@ mod foo {
impl Irrelevant for dyn ObjectTrait {}
fn use_it<'a>(val: &'a dyn ObjectTrait) -> impl OtherTrait<'a> + 'a {
val.use_self() //~ ERROR cannot infer an appropriate lifetime
val.use_self() //~ ERROR E0759
}
}
@ -34,7 +34,7 @@ mod bar {
impl Irrelevant for dyn ObjectTrait {}
fn use_it<'a>(val: &'a dyn ObjectTrait) -> &'a () {
val.use_self() //~ ERROR cannot infer an appropriate lifetime
val.use_self() //~ ERROR E0767
}
}
@ -51,7 +51,7 @@ mod baz {
impl Irrelevant for Box<dyn ObjectTrait> {}
fn use_it<'a>(val: &'a Box<dyn ObjectTrait + 'a>) -> &'a () {
val.use_self() //~ ERROR cannot infer an appropriate lifetime
val.use_self() //~ ERROR E0767
}
}
@ -66,8 +66,29 @@ mod bat {
}
fn use_it<'a>(val: &'a dyn ObjectTrait) -> impl OtherTrait<'a> + 'a {
val.use_self() //~ ERROR cannot infer an appropriate lifetime
val.use_self() //~ ERROR E0767
}
}
mod ban {
trait OtherTrait<'a> {}
impl<'a> OtherTrait<'a> for &'a () {}
trait ObjectTrait {}
trait MyTrait {
fn use_self(&self) -> &();
}
trait Irrelevant {}
impl MyTrait for dyn ObjectTrait {
fn use_self(&self) -> &() { panic!() }
}
impl Irrelevant for dyn ObjectTrait {}
fn use_it<'a>(val: &'a dyn ObjectTrait) -> impl OtherTrait<'a> {
val.use_self() //~ ERROR E0759
}
}
fn main() {}