X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Fattributes.pm;h=714cb26721809699507f8f52710611e6580e7994;hb=e7f779c800b16cb35dd756b0caf53fb5591bd201;hp=4f6eef03761d3a5c85bbc75333368caeffa50342;hpb=95f0a2f1ffc68ef908768ec5d39e4102afd28c1e;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/attributes.pm b/lib/attributes.pm index 4f6eef0..714cb26 100644 --- a/lib/attributes.pm +++ b/lib/attributes.pm @@ -1,6 +1,6 @@ package attributes; -our $VERSION = '0.04_01'; +our $VERSION = 0.06; @EXPORT_OK = qw(get reftype); @EXPORT = (); @@ -129,9 +129,9 @@ The second example in the synopsis does something equivalent to this: Yes, that's a lot of expansion. -B: attribute declarations for variables are an I -feature. The semantics of such declarations could change or be removed -in future versions. They are present for purposes of experimentation +B: attribute declarations for variables are still evolving. +The semantics and interfaces of such declarations could change in +future versions. They are present for purposes of experimentation with what the semantics ought to be. Do not rely on the current implementation of this feature. @@ -151,12 +151,11 @@ before those attributes will get applied. For example: will neither assign 42 to $x I will it apply the C attribute to the variable. -An attempt to set -an unrecognized attribute is a fatal error. (The error is trappable, but -it still stops the compilation within that C.) Setting an attribute -with a name that's all lowercase letters that's not a built-in attribute -(such as "foo") -will result in a warning with B<-w> or C. +An attempt to set an unrecognized attribute is a fatal error. (The +error is trappable, but it still stops the compilation within that +C.) Setting an attribute with a name that's all lowercase +letters that's not a built-in attribute (such as "foo") will result in +a warning with B<-w> or C. =head2 Built-in Attributes @@ -166,6 +165,10 @@ The following are the built-in attributes for subroutines: =item locked +B<5.005 threads only! The use of the "locked" attribute currently +only makes sense if you are using the deprecated "Perl 5.005 threads" +implementation of threads.> + Setting this attribute is only meaningful when the subroutine or method is to be called by multiple threads. When set on a method subroutine (i.e., one marked with the B attribute below), @@ -191,10 +194,7 @@ as a scalar variable, as described in L. =back -There are no built-in attributes for anything other than subroutines. - -=for hackers -What about C? +For global variables there is C attribute: see L. =head2 Available Subroutines @@ -265,7 +265,7 @@ This list may be empty. This method is called with two fixed arguments, followed by the list of attributes from the relevant declaration. The two fixed arguments are the relevant package name and a reference to the declared subroutine or -variable. The expected return value as a list of attributes which were +variable. The expected return value is a list of attributes which were not recognized by this handler. Note that this allows for a derived class to delegate a call to its base class, and then only examine the attributes which the base class didn't already handle for it.