Make sure that "has" doesn't blow up
[gitmo/Mouse.git] / lib / Mouse / Role.pm
1 #!/usr/bin/env perl
2 package Mouse::Role;
3 use strict;
4 use warnings;
5
6 use Sub::Exporter;
7 use Carp 'confess';
8
9 do {
10     my $CALLER;
11
12     my %exports = (
13         extends => sub {
14             return sub {
15                 confess "Role does not currently support 'extends'";
16             }
17         },
18         before => sub {
19             return sub { }
20         },
21         after => sub {
22             return sub { }
23         },
24         around => sub {
25             return sub { }
26         },
27         has => sub {
28             return sub { }
29         },
30     );
31
32     my $exporter = Sub::Exporter::build_exporter({
33         exports => \%exports,
34         groups  => { default => [':all'] },
35     });
36
37     sub import {
38         $CALLER = caller;
39
40         strict->import;
41         warnings->import;
42
43         goto $exporter;
44     }
45
46     sub unimport {
47     }
48 };
49
50 1;
51