This creates a new role type constraint based on the given
It takes the same options as its parent, with two exceptions. First,
it requires an additional option, role, which is name of the
constraints role. Second, it automatically sets the parent to the
The constructor also overrides the hand optimized type constraint with
one it creates internally.
Returns the role name associated with the constraint.
Returns all the types parent types, corresponding to the roles that
its role does.
If the given type is also a role type, then this checks that the
types role does the other types role.
Otherwise it falls back to the implementation in
This returns a new Moose::Meta::TypeConstraint object with the type
as its parent.
Note that it does not return a Moose::Meta::TypeConstraint::Role