diff --git a/src/librustc/metadata/decoder.rs b/src/librustc/metadata/decoder.rs index 472b455b7353..5b19834b31c0 100644 --- a/src/librustc/metadata/decoder.rs +++ b/src/librustc/metadata/decoder.rs @@ -249,12 +249,7 @@ fn doc_transformed_self_ty(doc: ebml::Doc, pub fn item_type(item_id: ast::def_id, item: ebml::Doc, tcx: ty::ctxt, cdata: cmd) -> ty::t { - let t = doc_type(item, tcx, cdata); - if family_names_type(item_family(item)) { - ty::mk_with_id(tcx, t, item_id) - } else { - t - } + doc_type(item, tcx, cdata) } fn doc_trait_ref(doc: ebml::Doc, tcx: ty::ctxt, cdata: cmd) -> ty::TraitRef { diff --git a/src/librustc/metadata/tydecode.rs b/src/librustc/metadata/tydecode.rs index 41ebf14a9a8b..709f1d4fc35d 100644 --- a/src/librustc/metadata/tydecode.rs +++ b/src/librustc/metadata/tydecode.rs @@ -381,9 +381,9 @@ fn parse_ty(st: @mut PState, conv: conv_did) -> ty::t { } } '"' => { - let def = parse_def(st, TypeWithId, conv); + let _ = parse_def(st, TypeWithId, conv); let inner = parse_ty(st, conv); - ty::mk_with_id(st.tcx, inner, def) + inner } 'B' => ty::mk_opaque_box(st.tcx), 'a' => { diff --git a/src/librustc/metadata/tyencode.rs b/src/librustc/metadata/tyencode.rs index a9a07d1b41d9..f6338f83ca61 100644 --- a/src/librustc/metadata/tyencode.rs +++ b/src/librustc/metadata/tyencode.rs @@ -78,19 +78,6 @@ pub fn enc_ty(w: @io::Writer, cx: @ctxt, t: ty::t) { Some(a) => { w.write_str(*a.s); return; } None => { let pos = w.tell(); - match ty::type_def_id(t) { - Some(def_id) => { - // Do not emit node ids that map to unexported names. Those - // are not helpful. - if def_id.crate != local_crate || - (cx.reachable)(def_id.node) { - w.write_char('"'); - w.write_str((cx.ds)(def_id)); - w.write_char('|'); - } - } - _ => {} - } enc_sty(w, cx, /*bad*/copy ty::get(t).sty); let end = w.tell(); let len = end - pos; diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs index 72c2cfedd986..ff41f6f5ae12 100644 --- a/src/librustc/middle/ty.rs +++ b/src/librustc/middle/ty.rs @@ -133,7 +133,6 @@ impl to_bytes::IterBytes for creader_cache_key { struct intern_key { sty: *sty, - o_def_id: Option } // NB: Do not replace this with #[deriving(Eq)]. The automatically-derived @@ -142,7 +141,7 @@ struct intern_key { impl cmp::Eq for intern_key { fn eq(&self, other: &intern_key) -> bool { unsafe { - *self.sty == *other.sty && self.o_def_id == other.o_def_id + *self.sty == *other.sty } } fn ne(&self, other: &intern_key) -> bool { @@ -153,7 +152,7 @@ impl cmp::Eq for intern_key { impl to_bytes::IterBytes for intern_key { fn iter_bytes(&self, +lsb0: bool, f: to_bytes::Cb) { unsafe { - to_bytes::iter_bytes_2(&*self.sty, &self.o_def_id, lsb0, f); + (*self.sty).iter_bytes(lsb0, f); } } } @@ -326,7 +325,6 @@ pub struct t_box_ { sty: sty, id: uint, flags: uint, - o_def_id: Option } // To reduce refcounting cost, we're representing types as unsafe pointers @@ -359,7 +357,6 @@ pub fn type_needs_infer(t: t) -> bool { pub fn type_has_regions(t: t) -> bool { tbox_has_flag(get(t), has_regions) } -pub fn type_def_id(t: t) -> Option { get(t).o_def_id } pub fn type_id(t: t) -> uint { get(t).id } #[deriving(Eq)] @@ -516,7 +513,6 @@ pub struct substs { mod primitives { use super::{sty, t_box_}; - use core::option::None; use syntax::ast; macro_rules! def_prim_ty( @@ -525,7 +521,6 @@ mod primitives { sty: $sty, id: $id, flags: 0, - o_def_id: None, }; ) ) @@ -551,14 +546,12 @@ mod primitives { sty: super::ty_bot, id: 16, flags: super::has_ty_bot as uint, - o_def_id: None, }; pub static TY_ERR: t_box_ = t_box_ { sty: super::ty_err, id: 17, flags: super::has_ty_err as uint, - o_def_id: None, }; pub static LAST_PRIMITIVE_ID: uint = 18; @@ -945,13 +938,11 @@ pub fn mk_ctxt(s: session::Session, } } - // Type constructors -fn mk_t(cx: ctxt, +st: sty) -> t { mk_t_with_id(cx, st, None) } // Interns a type/name combination, stores the resulting box in cx.interner, // and returns the box as cast to an unsafe ptr (see comments for t above). -fn mk_t_with_id(cx: ctxt, +st: sty, o_def_id: Option) -> t { +fn mk_t(cx: ctxt, +st: sty) -> t { // Check for primitive types. match st { ty_nil => return mk_nil(cx), @@ -963,7 +954,7 @@ fn mk_t_with_id(cx: ctxt, +st: sty, o_def_id: Option) -> t { _ => {} }; - let key = intern_key { sty: to_unsafe_ptr(&st), o_def_id: o_def_id }; + let key = intern_key { sty: to_unsafe_ptr(&st) }; match cx.interner.find(&key) { Some(t) => unsafe { return cast::transmute(&t.sty); }, _ => () @@ -1039,14 +1030,12 @@ fn mk_t_with_id(cx: ctxt, +st: sty, o_def_id: Option) -> t { sty: st, id: *cx.next_id, flags: flags, - o_def_id: o_def_id }; let sty_ptr = to_unsafe_ptr(&t.sty); let key = intern_key { sty: sty_ptr, - o_def_id: o_def_id }; cx.interner.insert(key, t); @@ -1263,10 +1252,6 @@ pub fn mk_opaque_closure_ptr(cx: ctxt, sigil: ast::Sigil) -> t { pub fn mk_opaque_box(cx: ctxt) -> t { mk_t(cx, ty_opaque_box) } -pub fn mk_with_id(cx: ctxt, base: t, def_id: ast::def_id) -> t { - mk_t_with_id(cx, /*bad*/copy get(base).sty, Some(def_id)) -} - // Converts s to its machine type equivalent pub fn mach_sty(cfg: @session::config, t: t) -> sty { match get(t).sty { diff --git a/src/librustc/middle/typeck/collect.rs b/src/librustc/middle/typeck/collect.rs index 59ea8ea039e1..36b462673162 100644 --- a/src/librustc/middle/typeck/collect.rs +++ b/src/librustc/middle/typeck/collect.rs @@ -1085,16 +1085,7 @@ pub fn ty_of_item(ccx: &CrateCtxt, it: @ast::item) let region_parameterization = RegionParameterization::from_variance_and_generics(rp, generics); let tpt = { - let ty = { - let t0 = ccx.to_ty(&type_rscope(region_parameterization), t); - // Do not associate a def id with a named, parameterized type - // like "foo". This is because otherwise ty_to_str will - // print the name as merely "foo", as it has no way to - // reconstruct the value of X. - if generics.is_parameterized() { t0 } else { - ty::mk_with_id(tcx, t0, def_id) - } - }; + let ty = ccx.to_ty(&type_rscope(region_parameterization), t); ty_param_bounds_and_ty { generics: ty_generics(ccx, rp, generics, 0), ty: ty