use v5.12; { package Foo; use Moo; { package Goo; # The caller here is "Goo". Foo::has( xxx => (is => 'ro') ); } } # But the attribute was created in "Foo"! say Foo->can('xxx');