| //@ run-pass | |
| #![deny(drop_bounds)] | |
| // As a special exemption, `impl Drop` in the return position raises no error. | |
| // This allows a convenient way to return an unnamed drop guard. | |
| fn unnameable_type() -> impl Drop { | |
| struct Unnameable; | |
| impl Drop for Unnameable { | |
| fn drop(&mut self) {} | |
| } | |
| Unnameable | |
| } | |
| fn main() { | |
| let _ = unnameable_type(); | |
| } |