Skip to content

Commit 62cd3cc

Browse files
author
Ariel Ben-Yehuda
committed
stop using skip_binder
1 parent 7d32533 commit 62cd3cc

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

src/librustc/metadata/decoder.rs

+8-2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ use middle::def;
3030
use middle::lang_items;
3131
use middle::subst;
3232
use middle::ty::{ImplContainer, TraitContainer};
33-
use middle::ty::{self, Ty};
33+
use middle::ty::{self, RegionEscape, Ty};
3434
use util::nodemap::FnvHashMap;
3535

3636
use std::cell::{Cell, RefCell};
@@ -477,7 +477,13 @@ pub fn get_adt_def<'tcx>(intr: &IdentInterner,
477477
variant.name,
478478
ctor_ty);
479479
let field_tys = match ctor_ty.sty {
480-
ty::TyBareFn(_, ref f) => &f.sig.skip_binder().inputs,
480+
ty::TyBareFn(_, &ty::BareFnTy { sig: ty::Binder(ty::FnSig {
481+
ref inputs, ..
482+
}), ..}) => {
483+
// tuple-struct constructors don't have escaping regions
484+
assert!(!inputs.has_escaping_regions());
485+
inputs
486+
},
481487
_ => tcx.sess.bug("tuple-variant ctor is not an ADT")
482488
};
483489
for (field, &ty) in variant.fields.iter().zip(field_tys.iter()) {

0 commit comments

Comments
 (0)