Skip to content

Commit 3b2fcf9

Browse files
committed
librustc: Fix bug with newtype structs containing dtors
1 parent a376f46 commit 3b2fcf9

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

src/librustc/middle/trans/datum.rs

-2
Original file line numberDiff line numberDiff line change
@@ -679,7 +679,6 @@ pub impl Datum {
679679
}
680680

681681
let repr = adt::represent_type(ccx, self.ty);
682-
fail_unless!(adt::is_newtypeish(repr));
683682
let ty = ty::subst(ccx.tcx, substs, variants[0].args[0]);
684683
return match self.mode {
685684
ByRef => {
@@ -719,7 +718,6 @@ pub impl Datum {
719718
}
720719

721720
let repr = adt::represent_type(ccx, self.ty);
722-
fail_unless!(adt::is_newtypeish(repr));
723721
let ty = fields[0].mt.ty;
724722
return match self.mode {
725723
ByRef => {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
use core::libc::c_int;
2+
use core::libc;
3+
4+
pub struct Fd(c_int);
5+
6+
impl Drop for Fd {
7+
fn finalize(&self) {
8+
unsafe {
9+
libc::close(**self);
10+
}
11+
}
12+
}
13+
14+
fn main() {
15+
}
16+
17+

0 commit comments

Comments
 (0)