//@ revisions: good1 good2 good3 | |
//@ check-pass | |
use std::ops::Drop; | |
struct Foo; | |
const X: usize = 1; | |
#[cfg(good1)] | |
impl Drop for Foo | |
where | |
[(); X]:, // Trivial WF bound | |
{ | |
fn drop(&mut self) {} | |
} | |
#[cfg(good2)] | |
impl Drop for Foo | |
where | |
for<'a> &'a (): Copy, // Trivial trait bound | |
{ | |
fn drop(&mut self) {} | |
} | |
#[cfg(good3)] | |
impl Drop for Foo | |
where | |
for<'a> &'a (): 'a, // Trivial outlives bound | |
{ | |
fn drop(&mut self) {} | |
} | |
fn main() {} |