use strict; use warnings; use Test::More; use Test::Fatal; use Test::Requires { 'MooseX::Role::Parameterized' => '0', }; plan skip_all => 'This test will not pass without changes to MooseX::Role::Parmeterized'; { package Role; use MooseX::Role::Parameterized; use MooseX::ClassAttribute; parameter foo => ( is => 'rw' ); role { my $p = shift; class_has $p => ( is => 'rw' ); }; } { package Class; use Moose; with 'Role' => { foo => 'foo' }; } my $instance = Class->new(); isa_ok( $instance, 'Class' ); is( exception { $instance->foo('bar'); is( $instance->foo(), 'bar' ); }, undef, 'used class attribute from parameterized role' ); done_testing();