In role Metamodel::MultipleInheritance§
See primary documentation in context for method hides
method hides($obj)
Returns a list of all hidden parent classes.
In Type system§
See primary documentation in context for trait hides
The trait hides
provides inheritance without being subject to re-dispatching.
class A { method m { say 'i am hidden' } } class B hides A { method m { nextsame } method n { self.A::m } }; B.new.m; # No output B.new.n; # OUTPUT: «i am hidden»
The trait is hidden
allows a class to hide itself from re-dispatching.
class A is hidden { method m { say 'i am hidden' } } class B is A { method m { nextsame } method n { self.A::m } } B.new.m; # No output B.new.n; # OUTPUT: «i am hidden»
Classes declared with is hidden
also generate slightly different method signatures. To facilitate re-dispatch, typical methods are automatically provided with an extra *%_
parameter that captures extra named arguments. Because classes declared with is hidden
don't participate in re-dispatch, their methods don't receive this extra parameter.