MooseX-Extended
view release on metacpan or search on metacpan
use v5.20.0;
use Moose;
use Types::Standard qw(Num HashRef);
use MooseX::StrictConstructor;
use feature qw( signatures postderef postderef_qq );
no warnings qw( experimental::signatures experimental::postderef );
use namespace::autoclean;
use mro 'c3';
has [ 'x', 'y' ] => ( is => 'ro', isa => Num );
has session => ( is => 'ro', isa => HashRef, init_arg => undef, default => sub { { session => 1234 } } );
sub session_id ($self) {
my $session = $self->session;
return "$session->@{session}";
}
__PACKAGE__->meta->make_immutable;
}
package My::Point::Mutable::Moose {
use v5.20.0;
t/moose_compatibility.t view on Meta::CPAN
use v5.20.0;
use Moose;
use Types::Standard qw(Num HashRef);
use MooseX::StrictConstructor;
use feature qw( signatures postderef postderef_qq );
no warnings qw( experimental::signatures experimental::postderef );
use namespace::autoclean;
use mro 'c3';
has [ 'x', 'y' ] => ( is => 'ro', isa => Num );
has session => ( is => 'ro', isa => HashRef, init_arg => undef, default => sub { { session => 1234 } } );
sub session_id ($self) {
my $session = $self->session;
return "$session->@{session}";
}
__PACKAGE__->meta->make_immutable;
}
package My::Point::Mutable::Moose {
use v5.20.0;
( run in 0.551 second using v1.01-cache-2.11-cpan-5f2e87ce722 )