Fix rebase fallout
This commit is contained in:
parent
9f9d4beda6
commit
18f77e25e9
|
@ -35,6 +35,7 @@ use mir::{self, Mir, interpret};
|
|||
use ty::subst::{Kind, Substs, Subst};
|
||||
use ty::ReprOptions;
|
||||
use ty::Instance;
|
||||
use ty::GenericParamDefKind;
|
||||
use traits;
|
||||
use traits::{Clause, Clauses, Goal, Goals};
|
||||
use ty::{self, Ty, TypeAndMut};
|
||||
|
@ -2328,9 +2329,14 @@ impl<'a, 'gcx, 'tcx> TyCtxt<'a, 'gcx, 'tcx> {
|
|||
let generics = self.generics_of(def_id);
|
||||
let mut substs = vec![Kind::from(ty)];
|
||||
// Add defaults for other generic params if there are some.
|
||||
for def in generics.types.iter().skip(1) {
|
||||
assert!(def.has_default);
|
||||
let ty = self.type_of(def.def_id).subst(self, &substs);
|
||||
for (def_id, has_default) in generics.params.iter().filter_map(|param| {
|
||||
match param.kind {
|
||||
GenericParamDefKind::Type(ty) => Some((param.def_id, ty.has_default)),
|
||||
GenericParamDefKind::Lifetime(_) => None
|
||||
}
|
||||
}).skip(1) {
|
||||
assert!(has_default);
|
||||
let ty = self.type_of(def_id).subst(self, &substs);
|
||||
substs.push(ty.into());
|
||||
}
|
||||
let substs = self.mk_substs(substs.into_iter());
|
||||
|
|
|
@ -675,7 +675,7 @@ fn reject_shadowing_parameters(tcx: TyCtxt, def_id: DefId) {
|
|||
// local so it should be okay to just unwrap everything.
|
||||
let trait_def_id = impl_params[&name];
|
||||
let trait_decl_span = tcx.def_span(trait_def_id);
|
||||
error_194(tcx, type_span, trait_decl_span, &name[..]);
|
||||
error_194(tcx, type_span, trait_decl_span, &name.as_str()[..]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue