diff options
| author | Huon Wilson <dbau.pp+github@gmail.com> | 2014-12-26 22:33:56 +1100 |
|---|---|---|
| committer | Huon Wilson <dbau.pp+github@gmail.com> | 2014-12-30 00:11:30 +1100 |
| commit | 91db254c81f3c90d5d9d8b5db2660a918efef8bb (patch) | |
| tree | 140cd42aa68752ae7760bf9f2765bf1ff8835189 /src | |
| parent | 7c21a0ff69ee44a0e2892968dabc3804ebe056ed (diff) | |
| download | rust-91db254c81f3c90d5d9d8b5db2660a918efef8bb.tar.gz rust-91db254c81f3c90d5d9d8b5db2660a918efef8bb.zip | |
More rebase fixes.
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc/metadata/tyencode.rs | 14 | ||||
| -rw-r--r-- | src/librustc/middle/infer/coercion.rs | 4 | ||||
| -rw-r--r-- | src/librustc/middle/infer/combine.rs | 6 | ||||
| -rw-r--r-- | src/librustc/middle/infer/region_inference/mod.rs | 2 | ||||
| -rw-r--r-- | src/librustc/middle/infer/type_variable.rs | 6 | ||||
| -rw-r--r-- | src/librustc/middle/traits/select.rs | 3 | ||||
| -rw-r--r-- | src/librustc/middle/ty.rs | 27 | ||||
| -rw-r--r-- | src/librustc/middle/ty_fold.rs | 19 | ||||
| -rw-r--r-- | src/librustc/util/ppaux.rs | 2 | ||||
| -rw-r--r-- | src/librustc_driver/test.rs | 4 | ||||
| -rw-r--r-- | src/librustc_trans/trans/adt.rs | 4 | ||||
| -rw-r--r-- | src/librustc_trans/trans/callee.rs | 4 | ||||
| -rw-r--r-- | src/librustc_trans/trans/expr.rs | 2 | ||||
| -rw-r--r-- | src/librustc_typeck/check/method/confirm.rs | 2 | ||||
| -rw-r--r-- | src/librustc_typeck/check/method/mod.rs | 1 | ||||
| -rw-r--r-- | src/librustc_typeck/check/method/probe.rs | 2 | ||||
| -rw-r--r-- | src/librustc_typeck/check/mod.rs | 2 | ||||
| -rw-r--r-- | src/librustc_typeck/check/vtable.rs | 4 | ||||
| -rw-r--r-- | src/librustdoc/clean/mod.rs | 4 |
19 files changed, 60 insertions, 52 deletions
diff --git a/src/librustc/metadata/tyencode.rs b/src/librustc/metadata/tyencode.rs index cf35c1f3dee..3e9eaf7eea2 100644 --- a/src/librustc/metadata/tyencode.rs +++ b/src/librustc/metadata/tyencode.rs @@ -83,7 +83,7 @@ pub fn enc_ty<'a, 'tcx>(w: &mut SeekableMemWriter, cx: &ctxt<'a, 'tcx>, t: Ty<'t ast::TyF64 => mywrite!(w, "MF"), } } - ty::ty_enum(def, ref substs) => { + ty::ty_enum(def, substs) => { mywrite!(w, "t[{}|", (cx.ds)(def)); enc_substs(w, cx, substs); mywrite!(w, "]"); @@ -104,7 +104,7 @@ pub fn enc_ty<'a, 'tcx>(w: &mut SeekableMemWriter, cx: &ctxt<'a, 'tcx>, t: Ty<'t ty::ty_ptr(mt) => { mywrite!(w, "*"); enc_mt(w, cx, mt); } ty::ty_rptr(r, mt) => { mywrite!(w, "&"); - enc_region(w, cx, r); + enc_region(w, cx, *r); enc_mt(w, cx, mt); } ty::ty_vec(t, sz) => { @@ -123,12 +123,12 @@ pub fn enc_ty<'a, 'tcx>(w: &mut SeekableMemWriter, cx: &ctxt<'a, 'tcx>, t: Ty<'t mywrite!(w, "f"); enc_closure_ty(w, cx, &**f); } - ty::ty_bare_fn(Some(def_id), ref f) => { + ty::ty_bare_fn(Some(def_id), f) => { mywrite!(w, "F"); mywrite!(w, "{}|", (cx.ds)(def_id)); enc_bare_fn_ty(w, cx, f); } - ty::ty_bare_fn(None, ref f) => { + ty::ty_bare_fn(None, f) => { mywrite!(w, "G"); enc_bare_fn_ty(w, cx, f); } @@ -138,14 +138,14 @@ pub fn enc_ty<'a, 'tcx>(w: &mut SeekableMemWriter, cx: &ctxt<'a, 'tcx>, t: Ty<'t ty::ty_param(ParamTy {space, idx: id, def_id: did}) => { mywrite!(w, "p{}|{}|{}|", (cx.ds)(did), id, space.to_uint()) } - ty::ty_struct(def, ref substs) => { + ty::ty_struct(def, substs) => { mywrite!(w, "a[{}|", (cx.ds)(def)); enc_substs(w, cx, substs); mywrite!(w, "]"); } - ty::ty_unboxed_closure(def, region, ref substs) => { + ty::ty_unboxed_closure(def, region, substs) => { mywrite!(w, "k[{}|", (cx.ds)(def)); - enc_region(w, cx, region); + enc_region(w, cx, *region); enc_substs(w, cx, substs); mywrite!(w, "]"); } diff --git a/src/librustc/middle/infer/coercion.rs b/src/librustc/middle/infer/coercion.rs index 48e16c4bfa1..13017da508d 100644 --- a/src/librustc/middle/infer/coercion.rs +++ b/src/librustc/middle/infer/coercion.rs @@ -499,7 +499,7 @@ impl<'f, 'tcx> Coerce<'f, 'tcx> { fn coerce_from_fn_item(&self, a: Ty<'tcx>, fn_def_id_a: ast::DefId, - fn_ty_a: &ty::BareFnTy<'tcx>, + fn_ty_a: &'tcx ty::BareFnTy<'tcx>, b: Ty<'tcx>) -> CoerceResult<'tcx> { /*! @@ -528,7 +528,7 @@ impl<'f, 'tcx> Coerce<'f, 'tcx> { Ok(Some(adj)) } ty::ty_bare_fn(None, _) => { - let a_fn_pointer = ty::mk_bare_fn(self.tcx(), None, (*fn_ty_a).clone()); + let a_fn_pointer = ty::mk_bare_fn(self.tcx(), None, fn_ty_a); try!(self.subtype(a_fn_pointer, b)); Ok(Some(ty::AdjustReifyFnPointer(fn_def_id_a))) } diff --git a/src/librustc/middle/infer/combine.rs b/src/librustc/middle/infer/combine.rs index 2e03a9b21e5..04ae0a5a604 100644 --- a/src/librustc/middle/infer/combine.rs +++ b/src/librustc/middle/infer/combine.rs @@ -343,8 +343,8 @@ pub trait Combine<'tcx> { if a.def_id != b.def_id { Err(ty::terr_traits(expected_found(self, a.def_id, b.def_id))) } else { - let substs = try!(self.substs(a.def_id, &a.substs, &b.substs)); - Ok(ty::TraitRef { def_id: a.def_id, substs: substs }) + let substs = try!(self.substs(a.def_id, a.substs, b.substs)); + Ok(ty::TraitRef { def_id: a.def_id, substs: self.tcx().mk_substs(substs) }) } } @@ -572,7 +572,7 @@ pub fn super_tys<'tcx, C: Combine<'tcx>>(this: &C, if a_opt_def_id == b_opt_def_id => { let fty = try!(this.bare_fn_tys(a_fty, b_fty)); - Ok(ty::mk_bare_fn(tcx, a_opt_def_id, fty)) + Ok(ty::mk_bare_fn(tcx, a_opt_def_id, tcx.mk_bare_fn(fty))) } (&ty::ty_closure(ref a_fty), &ty::ty_closure(ref b_fty)) => { diff --git a/src/librustc/middle/infer/region_inference/mod.rs b/src/librustc/middle/infer/region_inference/mod.rs index 14a0933ed1c..97fab3bc939 100644 --- a/src/librustc/middle/infer/region_inference/mod.rs +++ b/src/librustc/middle/infer/region_inference/mod.rs @@ -219,7 +219,7 @@ pub struct RegionVarBindings<'a, 'tcx: 'a> { #[allow(missing_copy_implementations)] pub struct RegionSnapshot { length: uint, - skolemization_count: uint, + skolemization_count: u32, } impl<'a, 'tcx> RegionVarBindings<'a, 'tcx> { diff --git a/src/librustc/middle/infer/type_variable.rs b/src/librustc/middle/infer/type_variable.rs index b670dd1b54d..49a1e6f9263 100644 --- a/src/librustc/middle/infer/type_variable.rs +++ b/src/librustc/middle/infer/type_variable.rs @@ -15,7 +15,7 @@ use self::UndoEntry::*; use middle::ty::{mod, Ty}; use std::cmp::min; use std::mem; -use std::uint; +use std::u32; use util::snapshot_vec as sv; pub struct TypeVariableTable<'tcx> { @@ -161,7 +161,7 @@ impl<'tcx> TypeVariableTable<'tcx> { * unified `V1` with `T1`, this function would return `{T0}`. */ - let mut new_elem_threshold = uint::MAX; + let mut new_elem_threshold = u32::MAX; let mut escaping_types = Vec::new(); let actions_since_snapshot = self.values.actions_since_snapshot(&s.snapshot); debug!("actions_since_snapshot.len() = {}", actions_since_snapshot.len()); @@ -173,7 +173,7 @@ impl<'tcx> TypeVariableTable<'tcx> { // always be the first one we see). Note that this // action must precede those variables being // specified. - new_elem_threshold = min(new_elem_threshold, index); + new_elem_threshold = min(new_elem_threshold, index as u32); debug!("NewElem({}) new_elem_threshold={}", index, new_elem_threshold); } diff --git a/src/librustc/middle/traits/select.rs b/src/librustc/middle/traits/select.rs index a32830bf92e..b10b1ce35c4 100644 --- a/src/librustc/middle/traits/select.rs +++ b/src/librustc/middle/traits/select.rs @@ -1100,7 +1100,8 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { } else { // Recursively check all supertraits to find out if any further // bounds are required and thus we must fulfill. - let tmp_tr = data.principal_trait_ref_with_self_ty(ty::mk_err()); + let tmp_tr = data.principal_trait_ref_with_self_ty(self.tcx(), + ty::mk_err()); for tr in util::supertraits(self.tcx(), tmp_tr) { let td = ty::lookup_trait_def(self.tcx(), tr.def_id()); diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs index ce02f443318..398e52cf043 100644 --- a/src/librustc/middle/ty.rs +++ b/src/librustc/middle/ty.rs @@ -1383,12 +1383,13 @@ impl<'tcx> TyTrait<'tcx> { /// we convert the principal trait-ref into a normal trait-ref, /// you must give *some* self-type. A common choice is `mk_err()` /// or some skolemized type. - pub fn principal_trait_ref_with_self_ty(&self, self_ty: Ty<'tcx>) + pub fn principal_trait_ref_with_self_ty(&self, + tcx: &ctxt<'tcx>, self_ty: Ty<'tcx>) -> Rc<ty::PolyTraitRef<'tcx>> { Rc::new(ty::Binder(ty::TraitRef { def_id: self.principal.def_id(), - substs: self.principal.substs().with_self_ty(self_ty), + substs: tcx.mk_substs(self.principal.substs().with_self_ty(self_ty)), })) } } @@ -1425,8 +1426,8 @@ impl<'tcx> PolyTraitRef<'tcx> { self.0.def_id } - pub fn substs(&self) -> &Substs<'tcx> { - &self.0.substs + pub fn substs(&self) -> &'tcx Substs<'tcx> { + self.0.substs } pub fn input_types(&self) -> &[Ty<'tcx>] { @@ -4159,8 +4160,8 @@ pub fn adjust_ty<'tcx, F>(cx: &ctxt<'tcx>, AdjustReifyFnPointer(_) => { match unadjusted_ty.sty { - ty::ty_bare_fn(Some(_), ref b) => { - ty::mk_bare_fn(cx, None, (*b).clone()) + ty::ty_bare_fn(Some(_), b) => { + ty::mk_bare_fn(cx, None, b) } ref b => { cx.sess.bug( @@ -6727,42 +6728,42 @@ pub trait RegionEscape { self.has_regions_escaping_depth(0) } - fn has_regions_escaping_depth(&self, depth: uint) -> bool; + fn has_regions_escaping_depth(&self, depth: u32) -> bool; } impl<'tcx> RegionEscape for Ty<'tcx> { - fn has_regions_escaping_depth(&self, depth: uint) -> bool { + fn has_regions_escaping_depth(&self, depth: u32) -> bool { ty::type_escapes_depth(*self, depth) } } impl RegionEscape for Region { - fn has_regions_escaping_depth(&self, depth: uint) -> bool { + fn has_regions_escaping_depth(&self, depth: u32) -> bool { self.escapes_depth(depth) } } impl<'tcx> RegionEscape for TraitRef<'tcx> { - fn has_regions_escaping_depth(&self, depth: uint) -> bool { + fn has_regions_escaping_depth(&self, depth: u32) -> bool { self.substs.types.iter().any(|t| t.has_regions_escaping_depth(depth)) && self.substs.regions().iter().any(|t| t.has_regions_escaping_depth(depth)) } } impl<'tcx,T:RegionEscape> RegionEscape for Binder<T> { - fn has_regions_escaping_depth(&self, depth: uint) -> bool { + fn has_regions_escaping_depth(&self, depth: u32) -> bool { self.0.has_regions_escaping_depth(depth + 1) } } impl<'tcx> RegionEscape for EquatePredicate<'tcx> { - fn has_regions_escaping_depth(&self, depth: uint) -> bool { + fn has_regions_escaping_depth(&self, depth: u32) -> bool { self.0.has_regions_escaping_depth(depth) || self.1.has_regions_escaping_depth(depth) } } impl<T:RegionEscape,U:RegionEscape> RegionEscape for OutlivesPredicate<T,U> { - fn has_regions_escaping_depth(&self, depth: uint) -> bool { + fn has_regions_escaping_depth(&self, depth: u32) -> bool { self.0.has_regions_escaping_depth(depth) || self.1.has_regions_escaping_depth(depth) } } diff --git a/src/librustc/middle/ty_fold.rs b/src/librustc/middle/ty_fold.rs index d42744fbc7b..782b464ed96 100644 --- a/src/librustc/middle/ty_fold.rs +++ b/src/librustc/middle/ty_fold.rs @@ -527,7 +527,8 @@ pub fn super_fold_ty<'tcx, T: TypeFolder<'tcx>>(this: &mut T, ty::ty_open(typ.fold_with(this)) } ty::ty_enum(tid, ref substs) => { - ty::ty_enum(tid, substs.fold_with(this)) + let substs = substs.fold_with(this); + ty::ty_enum(tid, this.tcx().mk_substs(substs)) } ty::ty_trait(box ty::TyTrait { ref principal, bounds }) => { ty::ty_trait(box ty::TyTrait { @@ -539,19 +540,24 @@ pub fn super_fold_ty<'tcx, T: TypeFolder<'tcx>>(this: &mut T, ty::ty_tup(ts.fold_with(this)) } ty::ty_bare_fn(opt_def_id, ref f) => { - ty::ty_bare_fn(opt_def_id, f.fold_with(this)) + let bfn = f.fold_with(this); + ty::ty_bare_fn(opt_def_id, this.tcx().mk_bare_fn(bfn)) } ty::ty_closure(ref f) => { ty::ty_closure(box f.fold_with(this)) } ty::ty_rptr(r, ref tm) => { - ty::ty_rptr(r.fold_with(this), tm.fold_with(this)) + let r = r.fold_with(this); + ty::ty_rptr(this.tcx().mk_region(r), tm.fold_with(this)) } ty::ty_struct(did, ref substs) => { - ty::ty_struct(did, substs.fold_with(this)) + let substs = substs.fold_with(this); + ty::ty_struct(did, this.tcx().mk_substs(substs)) } ty::ty_unboxed_closure(did, ref region, ref substs) => { - ty::ty_unboxed_closure(did, region.fold_with(this), substs.fold_with(this)) + let r = region.fold_with(this); + let s = substs.fold_with(this); + ty::ty_unboxed_closure(did, this.tcx().mk_region(r), this.tcx().mk_substs(s)) } ty::ty_bool | ty::ty_char | ty::ty_str | ty::ty_int(_) | ty::ty_uint(_) | ty::ty_float(_) | @@ -624,6 +630,7 @@ pub fn super_fold_trait_ref<'tcx, T: TypeFolder<'tcx>>(this: &mut T, t: &ty::TraitRef<'tcx>) -> ty::TraitRef<'tcx> { + let substs = t.substs.fold_with(this); ty::TraitRef { def_id: t.def_id, substs: this.tcx().mk_substs(substs), @@ -745,7 +752,7 @@ pub fn fold_regions<'tcx,T,F>(tcx: &ty::ctxt<'tcx>, value: &T, mut f: F) -> T - where F : FnMut(ty::Region, uint) -> ty::Region, + where F : FnMut(ty::Region, u32) -> ty::Region, T : TypeFoldable<'tcx>, { value.fold_with(&mut RegionFolder::new(tcx, &mut f)) diff --git a/src/librustc/util/ppaux.rs b/src/librustc/util/ppaux.rs index 62092a67cbe..3a383dd5a3b 100644 --- a/src/librustc/util/ppaux.rs +++ b/src/librustc/util/ppaux.rs @@ -1211,8 +1211,6 @@ impl<'tcx> UserString<'tcx> for ty::TraitRef<'tcx> { let trait_def = ty::lookup_trait_def(tcx, self.def_id); parameterized(tcx, path_str.as_slice(), self.substs, &trait_def.generics, self.def_id) - let did = trait_def.trait_ref.def_id; - parameterized(tcx, base.as_slice(), trait_ref.substs, &trait_def.generics, did) } } diff --git a/src/librustc_driver/test.rs b/src/librustc_driver/test.rs index 8cb578ad258..941155ac5e7 100644 --- a/src/librustc_driver/test.rs +++ b/src/librustc_driver/test.rs @@ -256,7 +256,7 @@ impl<'a, 'tcx> Env<'a, 'tcx> { let input_args = input_tys.iter().map(|ty| *ty).collect(); ty::mk_bare_fn(self.infcx.tcx, None, - ty::BareFnTy { + self.infcx.tcx.mk_bare_fn(ty::BareFnTy { unsafety: ast::Unsafety::Normal, abi: abi::Rust, sig: ty::Binder(ty::FnSig { @@ -264,7 +264,7 @@ impl<'a, 'tcx> Env<'a, 'tcx> { output: ty::FnConverging(output_ty), variadic: false }) - }) + })) } pub fn t_nil(&self) -> Ty<'tcx> { diff --git a/src/librustc_trans/trans/adt.rs b/src/librustc_trans/trans/adt.rs index 43fec4c5077..595d252a0b1 100644 --- a/src/librustc_trans/trans/adt.rs +++ b/src/librustc_trans/trans/adt.rs @@ -361,7 +361,7 @@ fn find_discr_field_candidate<'tcx>(tcx: &ty::ctxt<'tcx>, }, // Is this the NonZero lang item wrapping a pointer or integer type? - ty::ty_struct(did, ref substs) if Some(did) == tcx.lang_items.non_zero() => { + ty::ty_struct(did, substs) if Some(did) == tcx.lang_items.non_zero() => { let nonzero_fields = ty::lookup_struct_fields(tcx, did); assert_eq!(nonzero_fields.len(), 1); let nonzero_field = ty::lookup_field_type(tcx, did, nonzero_fields[0].id, substs); @@ -376,7 +376,7 @@ fn find_discr_field_candidate<'tcx>(tcx: &ty::ctxt<'tcx>, // Perhaps one of the fields of this struct is non-zero // let's recurse and find out - ty::ty_struct(def_id, ref substs) => { + ty::ty_struct(def_id, substs) => { let fields = ty::lookup_struct_fields(tcx, def_id); for (j, field) in fields.iter().enumerate() { let field_ty = ty::lookup_field_type(tcx, def_id, field.id, substs); diff --git a/src/librustc_trans/trans/callee.rs b/src/librustc_trans/trans/callee.rs index 5d085b54392..e3fe749b490 100644 --- a/src/librustc_trans/trans/callee.rs +++ b/src/librustc_trans/trans/callee.rs @@ -299,12 +299,12 @@ pub fn trans_fn_pointer_shim<'a, 'tcx>( tcx.mk_bare_fn(ty::BareFnTy { unsafety: ast::Unsafety::Normal, abi: synabi::RustCall, - sig: ty::FnSig { + sig: ty::Binder(ty::FnSig { inputs: vec![bare_fn_ty_ref, tuple_input_ty], output: output_ty, variadic: false - }})); + })})); debug!("tuple_fn_ty: {}", tuple_fn_ty.repr(tcx)); // diff --git a/src/librustc_trans/trans/expr.rs b/src/librustc_trans/trans/expr.rs index e3e0fffcd86..60b5a08c7c5 100644 --- a/src/librustc_trans/trans/expr.rs +++ b/src/librustc_trans/trans/expr.rs @@ -1085,7 +1085,7 @@ fn trans_rvalue_dps_unadjusted<'blk, 'tcx>(bcx: Block<'blk, 'tcx>, None, expr.span, expr.id, - ty::mk_struct(tcx, did, substs), + ty::mk_struct(tcx, did, tcx.mk_substs(substs)), dest) } else { tcx.sess.span_bug(expr.span, diff --git a/src/librustc_typeck/check/method/confirm.rs b/src/librustc_typeck/check/method/confirm.rs index abd99f6b324..8ce7a7edb46 100644 --- a/src/librustc_typeck/check/method/confirm.rs +++ b/src/librustc_typeck/check/method/confirm.rs @@ -223,7 +223,7 @@ impl<'a,'tcx> ConfirmContext<'a,'tcx> { // been ruled out when we deemed the trait to be // "object safe". let original_poly_trait_ref = - data.principal_trait_ref_with_self_ty(object_ty); + data.principal_trait_ref_with_self_ty(this.tcx(), object_ty); let upcast_poly_trait_ref = this.upcast(original_poly_trait_ref.clone(), trait_def_id); let upcast_trait_ref = diff --git a/src/librustc_typeck/check/method/mod.rs b/src/librustc_typeck/check/method/mod.rs index 65ee44db77c..0c094823a75 100644 --- a/src/librustc_typeck/check/method/mod.rs +++ b/src/librustc_typeck/check/method/mod.rs @@ -200,6 +200,7 @@ pub fn lookup_in_trait_adjusted<'a, 'tcx>(fcx: &'a FnCtxt<'a, 'tcx>, &fn_sig).0; let transformed_self_ty = fn_sig.inputs[0]; let fty = ty::mk_bare_fn(tcx, None, tcx.mk_bare_fn(ty::BareFnTy { + sig: ty::Binder(fn_sig), unsafety: bare_fn_ty.unsafety, abi: bare_fn_ty.abi.clone(), })); diff --git a/src/librustc_typeck/check/method/probe.rs b/src/librustc_typeck/check/method/probe.rs index ee6366b8b4e..3ecd2007ff1 100644 --- a/src/librustc_typeck/check/method/probe.rs +++ b/src/librustc_typeck/check/method/probe.rs @@ -305,7 +305,7 @@ impl<'a,'tcx> ProbeContext<'a,'tcx> { // a substitution that replaces `Self` with the object type // itself. Hence, a `&self` method will wind up with an // argument type like `&Trait`. - let trait_ref = data.principal_trait_ref_with_self_ty(self_ty); + let trait_ref = data.principal_trait_ref_with_self_ty(self.tcx(), self_ty); self.elaborate_bounds(&[trait_ref.clone()], false, |this, new_trait_ref, m, method_num| { let vtable_index = get_method_index(tcx, &*new_trait_ref, trait_ref.clone(), method_num); diff --git a/src/librustc_typeck/check/mod.rs b/src/librustc_typeck/check/mod.rs index 70276305c38..68cf139338a 100644 --- a/src/librustc_typeck/check/mod.rs +++ b/src/librustc_typeck/check/mod.rs @@ -4355,7 +4355,7 @@ fn check_expr_with_unifier<'a, 'tcx, F>(fcx: &FnCtxt<'a, 'tcx>, traits::ItemObligation(did)), &bounds); - ty::mk_struct(tcx, did, substs) + ty::mk_struct(tcx, did, tcx.mk_substs(substs)) } else { ty::mk_err() } diff --git a/src/librustc_typeck/check/vtable.rs b/src/librustc_typeck/check/vtable.rs index e348a509c0c..ff16568aa63 100644 --- a/src/librustc_typeck/check/vtable.rs +++ b/src/librustc_typeck/check/vtable.rs @@ -133,7 +133,7 @@ pub fn check_object_safety<'tcx>(tcx: &ty::ctxt<'tcx>, object_trait: &ty::TyTrait<'tcx>, span: Span) { - let object_trait_ref = object_trait.principal_trait_ref_with_self_ty(ty::mk_err()); + let object_trait_ref = object_trait.principal_trait_ref_with_self_ty(tcx, ty::mk_err()); for tr in traits::supertraits(tcx, object_trait_ref) { check_object_safety_inner(tcx, &*tr, span); } @@ -251,7 +251,7 @@ pub fn register_object_cast_obligations<'a, 'tcx>(fcx: &FnCtxt<'a, 'tcx>, // Create the obligation for casting from T to Trait. let object_trait_ref = - object_trait.principal_trait_ref_with_self_ty(referent_ty); + object_trait.principal_trait_ref_with_self_ty(fcx.tcx(), referent_ty); let object_obligation = Obligation::new( ObligationCause::new(span, diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs index 4b84998af1f..0308194527e 100644 --- a/src/librustdoc/clean/mod.rs +++ b/src/librustdoc/clean/mod.rs @@ -620,7 +620,7 @@ impl<'tcx> Clean<TyParamBound> for ty::TraitRef<'tcx> { let fqn = fqn.into_iter().map(|i| i.to_string()) .collect::<Vec<String>>(); let path = external_path(cx, fqn.last().unwrap().as_slice(), - Some(self.def_id), &self.substs); + Some(self.def_id), self.substs); cx.external_paths.borrow_mut().as_mut().unwrap().insert(self.def_id, (fqn, TypeTrait)); @@ -634,7 +634,7 @@ impl<'tcx> Clean<TyParamBound> for ty::TraitRef<'tcx> { if let sty::ty_tup(ref ts) = ty_s.sty { for &ty_s in ts.iter() { if let sty::ty_rptr(ref reg, _) = ty_s.sty { - if let &Region::ReLateBound(_, _) = reg { + if let &Region::ReLateBound(_, _) = *reg { debug!(" hit an ReLateBound {}", reg); if let Some(lt) = reg.clean(cx) { late_bounds.push(lt) |
