-> bool
{
// Because we query yes/no results frequently, we keep a cache:
- let def = ty::lookup_trait_def(tcx, trait_def_id);
+ let def = tcx.lookup_trait_def(trait_def_id);
let result = def.object_safety().unwrap_or_else(|| {
let result = object_safety_violations(tcx, trait_def_id).is_empty();
{
// Check methods for violations.
let mut violations: Vec<_> =
- ty::trait_items(tcx, trait_def_id).iter()
+ tcx.trait_items(trait_def_id).iter()
.flat_map(|item| {
match *item {
ty::MethodTraitItem(ref m) => {
trait_def_id: ast::DefId)
-> bool
{
- let trait_def = ty::lookup_trait_def(tcx, trait_def_id);
+ let trait_def = tcx.lookup_trait_def(trait_def_id);
let trait_ref = trait_def.trait_ref.clone();
let trait_ref = trait_ref.to_poly_trait_ref();
- let predicates = ty::lookup_super_predicates(tcx, trait_def_id);
+ let predicates = tcx.lookup_super_predicates(trait_def_id);
predicates
.predicates
.into_iter()
trait_def_id: ast::DefId)
-> bool
{
- let trait_def = ty::lookup_trait_def(tcx, trait_def_id);
- let trait_predicates = ty::lookup_predicates(tcx, trait_def_id);
+ let trait_def = tcx.lookup_trait_def(trait_def_id);
+ let trait_predicates = tcx.lookup_predicates(trait_def_id);
generics_require_sized_self(tcx, &trait_def.generics, &trait_predicates)
}
};
// Search for a predicate like `Self : Sized` amongst the trait bounds.
- let free_substs = ty::construct_free_substs(tcx, generics, ast::DUMMY_NODE_ID);
+ let free_substs = tcx.construct_free_substs(generics, ast::DUMMY_NODE_ID);
let predicates = predicates.instantiate(tcx, &free_substs).predicates.into_vec();
elaborate_predicates(tcx, predicates)
.any(|predicate| {
let mut supertraits: Option<Vec<ty::PolyTraitRef<'tcx>>> = None;
let mut error = false;
- ty::maybe_walk_ty(ty, |ty| {
+ ty.maybe_walk(|ty| {
match ty.sty {
ty::TyParam(ref param_ty) => {
if param_ty.space == SelfSpace {
// Compute supertraits of current trait lazily.
if supertraits.is_none() {
- let trait_def = ty::lookup_trait_def(tcx, trait_def_id);
+ let trait_def = tcx.lookup_trait_def(trait_def_id);
let trait_ref = ty::Binder(trait_def.trait_ref.clone());
supertraits = Some(traits::supertraits(tcx, trait_ref).collect());
}