2 Prevents the safe `std::mem::drop` function from being called on `std::mem::ManuallyDrop`.
5 The safe `drop` function does not drop the inner value of a `ManuallyDrop`.
8 Does not catch cases if the user binds `std::mem::drop`
9 to a different name and calls it that way.
14 drop(std::mem::ManuallyDrop::new(S));
20 std::mem::ManuallyDrop::drop(&mut std::mem::ManuallyDrop::new(S));