class X::Declaration::Scope does X::Comp { }

Compile time error thrown when a declaration does not harmonize with the declared scope.

For example

has sub f() { }

dies with

Cannot use 'has' with sub declaration


method scope§

method scope(--> Str:D)

Returns a string representation of the scope, usually the same keyword that is used for the declaration ("my", "our", "has", ...);

method declaration§

method declaration(--> Str:D)

Describes the symbol that has been declared in a wrong scope.