| //@ 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() {} |