blob: 37c0a1ff5e2710a8770cf1db87f2e642ebc1ae78 [file] [log] [blame] [edit]
//@ revisions: good bad
//@[good] check-pass
use std::marker::PhantomData;
use std::ops::Drop;
struct DropMe<'a, 'b: 'a, 'c: 'b>(PhantomData<&'a ()>, PhantomData<&'b ()>, PhantomData<&'c ()>);
#[cfg(good)]
impl<'a, 'b, 'c> Drop for DropMe<'a, 'b, 'c>
where
'c: 'a,
{
fn drop(&mut self) {}
}
#[cfg(bad)]
impl<'a, 'b, 'c> Drop for DropMe<'a, 'b, 'c>
//[bad]~^ ERROR `Drop` impl requires `'a: 'c`
where
'a: 'c,
{
fn drop(&mut self) {}
}
fn main() {}