1 error[E0569]: requires an `unsafe impl` declaration due to `#[may_dangle]` attribute
2 --> $DIR/dropck-eyepatch-implies-unsafe-impl.rs:21:1
4 LL | / impl<#[may_dangle] A, B: fmt::Debug> Drop for Pt<A, B> {
7 LL | | // (unsafe to access self.1 due to #[may_dangle] on A)
8 LL | | fn drop(&mut self) { println!("drop {} {:?}", self.0, self.2); }
12 = note: the trait `Drop` enforces invariants that the compiler can't check. Review the trait documentation and make sure this implementation upholds those invariants before adding the `unsafe` keyword
13 help: add `unsafe` to this trait implementation
15 LL | unsafe impl<#[may_dangle] A, B: fmt::Debug> Drop for Pt<A, B> {
18 error[E0569]: requires an `unsafe impl` declaration due to `#[may_dangle]` attribute
19 --> $DIR/dropck-eyepatch-implies-unsafe-impl.rs:27:1
21 LL | / impl<#[may_dangle] 'a, 'b, B: fmt::Debug> Drop for Pr<'a, 'b, B> {
24 LL | | // (unsafe to access self.1 due to #[may_dangle] on 'a)
25 LL | | fn drop(&mut self) { println!("drop {} {:?}", self.0, self.2); }
29 = note: the trait `Drop` enforces invariants that the compiler can't check. Review the trait documentation and make sure this implementation upholds those invariants before adding the `unsafe` keyword
30 help: add `unsafe` to this trait implementation
32 LL | unsafe impl<#[may_dangle] 'a, 'b, B: fmt::Debug> Drop for Pr<'a, 'b, B> {
35 error: aborting due to 2 previous errors
37 For more information about this error, try `rustc --explain E0569`.