Change subtypes_require to handle class fields correctly

This commit is contained in:
Tim Chevalier
2012-06-05 16:20:12 -07:00
parent a5c9e8d59e
commit 32e448e0da

View File

@@ -1678,11 +1678,8 @@ fn is_instantiable(cx: ctxt, r_ty: t) -> bool {
ty_class(did, substs) {
vec::push(*seen, did);
let r = vec::any(lookup_class_fields(cx, did)) {|f|
let fty = ty::lookup_item_type(cx, f.id);
let sty = subst(cx, substs, fty.ty);
type_requires(cx, seen, r_ty, sty)
};
let r = vec::any(class_items_as_fields(cx, did, substs)) {|f|
type_requires(cx, seen, r_ty, f.mt.ty)};
vec::pop(*seen);
r
}