Documentation for method rw assembled from the following pages:

Role: Metamodel::AttributeContainer §

From Metamodel::AttributeContainer

(Metamodel::AttributeContainer) method rw §

method rw($obj)

Returns a true value if method set_rw has been called on this object, that is, if new public attributes are writable by default.

Class: Attribute §

From Attribute

(Attribute) method rw §

Defined as:

method rw(Attribute:D: --> Bool:D)

Returns True for attributes that have the "is rw" trait applied to them.

class Library {
    has $.address# Read-only value 
    has @.new-books is rw;
}
my $addr = Library.^attributes(:local)[0];
my $new-books = Library.^attributes(:local)[1];
say $addr.rw;      # OUTPUT: «False␤» 
say $new-books.rw# OUTPUT: «True␤»

Class: IO::Path §

From IO::Path

(IO::Path) method rw §

Defined as:

method rw(IO::Path:D: --> Bool:D)

Returns True if the invocant is a path that exists and is readable and writable. The method will fail with X::IO::DoesNotExist if the path points to a non-existent filesystem entity.

Class: Parameter §

From Parameter

(Parameter) method rw §

Defined as:

method rw(Parameter:D: --> Bool:D)

Returns True for is rw parameters.

my Signature $sig = :(Str $x is rwBool :$is-named);
say $sig.params[0].rw;                             # OUTPUT: «True␤» 
say $sig.params[1].rw;                             # OUTPUT: «False␤»