perl6/doc/lib/X/Redeclaration

doc src
(title) class X::Redeclaration
    class X::Redeclaration does X::Comp { }

 
Thrown when a symbol (variable, routine, type, paramater, ...) is redeclared. Note that redeclarations are generally fine in an inner scope, but if the redeclaration appears in the same scope as the original declaration, it usually indicates an error and is treated as one. Examples
    my $x; my $x

    ===SORRY!===
    Redeclaration of symbol $x

    sub f() { }
    sub f() { }
    ===SORRY!===
    Redeclaration of routine f

 
But those are fine
    my $x;
    sub f() {
        my $x;          # not a redeclaration,
                        # because it's in an inner scope
        sub f() { };    # same
    }


 

Methods

(head2) symbol
Returns the name of the symbol that was redeclared.

what

Returns the kind of symbol that was redeclared. Usually symbol , but can also be routine , type etc.

postfix

Returns a string that is attached to the end of the error message. It usually explains the particular problem in more detail, or suggests way to fix the problem.

Perl 6 Tricks and Treats newsletter

Register to the free newsletter now, and get updates and news.
Email:
Name: