Rollup merge of #90840 - BoxyUwU:lolripme, r=jackh726

relate lifetime in `TypeOutlives` bounds on drop impls

Fixes #90838
This commit is contained in:
Matthias Krüger 2021-11-13 22:35:04 +01:00 committed by GitHub
commit e273fab434
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 36 additions and 2 deletions

View file

@ -0,0 +1,13 @@
struct Wrapper<'a, T>(&'a T)
where
T: 'a;
impl<'a, T> Drop for Wrapper<'a, T>
where
T: 'static,
//~^ error: `Drop` impl requires `T: 'static` but the struct it is implemented for does not
{
fn drop(&mut self) {}
}
fn main() {}

View file

@ -0,0 +1,17 @@
error[E0367]: `Drop` impl requires `T: 'static` but the struct it is implemented for does not
--> $DIR/relate_lt_in_type_outlives_bound.rs:7:8
|
LL | T: 'static,
| ^^^^^^^
|
note: the implementor must specify the same requirement
--> $DIR/relate_lt_in_type_outlives_bound.rs:1:1
|
LL | / struct Wrapper<'a, T>(&'a T)
LL | | where
LL | | T: 'a;
| |__________^
error: aborting due to previous error
For more information about this error, try `rustc --explain E0367`.