From 32e448e0da9fd1e93c5bcce953d1ffbc4193565a Mon Sep 17 00:00:00 2001 From: Tim Chevalier Date: Tue, 5 Jun 2012 16:20:12 -0700 Subject: [PATCH] Change subtypes_require to handle class fields correctly --- src/rustc/middle/ty.rs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/rustc/middle/ty.rs b/src/rustc/middle/ty.rs index 73f601cf4b06..a426ded68f85 100644 --- a/src/rustc/middle/ty.rs +++ b/src/rustc/middle/ty.rs @@ -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 }