Closed
Description
struct S<'a>(&'a T);
struct T;
impl<'a> Drop for S<'a> {
fn drop(&mut self) {}
}
fn main() {
let _ = S(&T);
}
$ rustc -v
rustc 0.12.0-nightly (b5ba2f551 2014-10-06 20:27:14 +0000)
$ rustc dtor.rs
dtor.rs:5:1: 7:2 error: cannot implement a destructor on a structure with type parameters [E0141]
dtor.rs:5 impl<'a> Drop for S<'a> {
dtor.rs:6 fn drop(&mut self) {}
dtor.rs:7 }
dtor.rs:5:1: 7:2 note: use "#[unsafe_destructor]" on the implementation to force the compiler to allow this
dtor.rs:5 impl<'a> Drop for S<'a> {
dtor.rs:6 fn drop(&mut self) {}
dtor.rs:7 }
error: aborting due to previous error
It's not clear to me why this program gets rejected.