diff --git a/src/Perl6/Metamodel/ContainerSpecProtocol.nqp b/src/Perl6/Metamodel/ContainerSpecProtocol.nqp index 6e962954655..9988a41ddc5 100644 --- a/src/Perl6/Metamodel/ContainerSpecProtocol.nqp +++ b/src/Perl6/Metamodel/ContainerSpecProtocol.nqp @@ -10,22 +10,13 @@ role Perl6::Metamodel::ContainerSpecProtocol { } method publish_container_spec($obj) { - # If we have a container specification here, install that - if $!code_pair { - nqp::setcontspec($obj, 'code_pair', $!code_pair); - $obj.HOW.compose_repr($obj); - } - - # look in the parents for any if none here - else { - for self.mro($obj) -> $class { - if nqp::can($class.HOW, 'get_container_spec') { - my $code_pair := $class.HOW.get_container_spec($class); - if $code_pair { - nqp::setcontspec($obj, 'code_pair', $code_pair); - $obj.HOW.compose_repr($obj); - last; - } + for self.mro($obj) -> $class { + if nqp::can($class.HOW, 'get_container_spec') { + my $code_pair := $class.HOW.get_container_spec($class); + if $code_pair { + nqp::setcontspec($obj, 'code_pair', $code_pair); + $obj.HOW.compose_repr($obj); + last; } } }