diff options
| author | Eduard Burtescu <edy.burt@gmail.com> | 2016-02-16 18:36:41 +0200 |
|---|---|---|
| committer | Eduard Burtescu <edy.burt@gmail.com> | 2016-03-09 16:45:28 +0200 |
| commit | ffa0860467aff2c1e5e2f6594cd7cf554da26c5e (patch) | |
| tree | d13a015c72e9d89513b1f4c34cf17d615b4f0f13 /src/librustc_metadata/decoder.rs | |
| parent | b423a0f9ef488ca4cd9ff620a44566bb441eb21f (diff) | |
| download | rust-ffa0860467aff2c1e5e2f6594cd7cf554da26c5e.tar.gz rust-ffa0860467aff2c1e5e2f6594cd7cf554da26c5e.zip | |
Track fn type and lifetime parameters in TyFnDef.
Diffstat (limited to 'src/librustc_metadata/decoder.rs')
| -rw-r--r-- | src/librustc_metadata/decoder.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/librustc_metadata/decoder.rs b/src/librustc_metadata/decoder.rs index 3ddfa1d2730..72bf9633c3e 100644 --- a/src/librustc_metadata/decoder.rs +++ b/src/librustc_metadata/decoder.rs @@ -472,7 +472,7 @@ pub fn get_adt_def<'tcx>(intr: &IdentInterner, variant.name, ctor_ty); let field_tys = match ctor_ty.sty { - ty::TyFnDef(_, &ty::BareFnTy { sig: ty::Binder(ty::FnSig { + ty::TyFnDef(_, _, &ty::BareFnTy { sig: ty::Binder(ty::FnSig { ref inputs, .. }), ..}) => { // tuple-struct constructors don't have escaping regions @@ -988,7 +988,7 @@ pub fn get_impl_or_trait_item<'tcx>(intr: Rc<IdentInterner>, let predicates = doc_predicates(item_doc, tcx, cdata, tag_method_ty_generics); let ity = tcx.lookup_item_type(def_id).ty; let fty = match ity.sty { - ty::TyFnDef(_, fty) => fty.clone(), + ty::TyFnDef(_, _, fty) => fty.clone(), _ => tcx.sess.bug(&format!( "the type {:?} of the method {:?} is not a function?", ity, name)) @@ -1582,7 +1582,7 @@ pub fn is_extern_item(cdata: Cmd, id: DefIndex, tcx: &TyCtxt) -> bool { let ty::TypeScheme { generics, ty } = get_type(cdata, id, tcx); let no_generics = generics.types.is_empty(); match ty.sty { - ty::TyFnDef(_, fn_ty) | ty::TyFnPtr(fn_ty) + ty::TyFnDef(_, _, fn_ty) | ty::TyFnPtr(fn_ty) if fn_ty.abi != Abi::Rust => return no_generics, _ => no_generics, } |
