Skip to content

State variable initialized to a function argument generates bad code #128

@snoopyjc

Description

@snoopyjc

State variable initialized to a function argument, my var, or expression generates bad code. For example:

sub banner {
    state $my_log_dir=$_[0];
    ...
}

Generates:

banner_my_log_dir = _args[0]

While this code looks perfectly reasonable, it's generated BELOW the function definition, where the arguments are no longer available. Same issue if the state var is initialized with a 'my' var of the function. If the state var is initialized with an expression, the code doesn't even try to make it a state var.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions