class Metamodel::ConcreteRoleHOW
    does Metamodel::Naming
    does Metamodel::Versioning
    does Metamodel::PrivateMethodContainer
    does Metamodel::MethodContainer
    does Metamodel::MultiMethodContainer
    does Metamodel::AttributeContainer
    does Metamodel::RoleContainer
    does Metamodel::MultipleInheritance
    does Metamodel::ArrayType
    does Metamodel::Concretization {}

Warning: this class is part of the Rakudo implementation, and is not a part of the language specification.

You can use this to build roles, in the same way that ClassHOW can be used to build classes:

my $a = Metamodel::ConcreteRoleHOW.new_type(name => "Bar");
$a.^compose;
say $a.^roles# OUTPUT: «(Mu)␤» 

The main difference with ClassHOW.new_type is that you can mix-in roles in this newly created one.

This class is Rakudo specific, and provided only for completeness. Not really intended to be used by the final user.

Typegraph§

Type relations for Metamodel::ConcreteRoleHOW
raku-type-graph Metamodel::ConcreteRoleHOW Metamodel::ConcreteRoleHOW Any Any Metamodel::ConcreteRoleHOW->Any Metamodel::Naming Metamodel::Naming Metamodel::ConcreteRoleHOW->Metamodel::Naming Metamodel::Versioning Metamodel::Versioning Metamodel::ConcreteRoleHOW->Metamodel::Versioning Metamodel::PrivateMethodContainer Metamodel::PrivateMethodContainer Metamodel::ConcreteRoleHOW->Metamodel::PrivateMethodContainer Metamodel::MethodContainer Metamodel::MethodContainer Metamodel::ConcreteRoleHOW->Metamodel::MethodContainer Metamodel::MultiMethodContainer Metamodel::MultiMethodContainer Metamodel::ConcreteRoleHOW->Metamodel::MultiMethodContainer Metamodel::AttributeContainer Metamodel::AttributeContainer Metamodel::ConcreteRoleHOW->Metamodel::AttributeContainer Metamodel::RoleContainer Metamodel::RoleContainer Metamodel::ConcreteRoleHOW->Metamodel::RoleContainer Metamodel::MultipleInheritance Metamodel::MultipleInheritance Metamodel::ConcreteRoleHOW->Metamodel::MultipleInheritance Mu Mu Any->Mu

Expand chart above