From: Shawn M Moore Date: Sun, 13 Jan 2008 00:40:39 +0000 (+0000) Subject: Need to use a lower level method in getting attribute value, because of things like... X-Git-Tag: 0_51~4 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=a93136d1e4e5ce21295d964e777446783d2a4443;p=gitmo%2FClass-MOP.git Need to use a lower level method in getting attribute value, because of things like auto_deref --- diff --git a/lib/Class/MOP/Class.pm b/lib/Class/MOP/Class.pm index c8a9dda..f22b07e 100644 --- a/lib/Class/MOP/Class.pm +++ b/lib/Class/MOP/Class.pm @@ -418,7 +418,7 @@ sub rebless_instance { $meta_instance->rebless_instance_structure($instance, $new_metaclass); # check and upgrade all attributes - my %params = map { $_->name => $_->get_value($instance) } + my %params = map { $_->name => $meta_instance->get_slot_value($instance, $_->name) } grep { $meta_instance->is_slot_initialized($instance, $_->name) } $new_metaclass->compute_all_applicable_attributes;