summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/fields.pm23
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/fields.pm b/lib/fields.pm
index 8e2d6398bb..c2cf1d6a5d 100644
--- a/lib/fields.pm
+++ b/lib/fields.pm
@@ -1,5 +1,28 @@
package fields;
+=head1 NAME
+
+fields - compile-time class fields
+
+=head1 SYNOPSIS
+
+ {
+ package Foo;
+ use fields qw(foo bar baz);
+ }
+ ...
+ my Foo $var = new Foo;
+ $var->{foo} = 42;
+
+ # This will generate a compile-time error.
+ $var->{zap} = 42;
+
+=head1 DESCRIPTION
+
+The C<fields> pragma enables compile-time verified class fields.
+
+=cut
+
sub import {
my $class = shift;
my ($package) = caller;