pythonizer icon indicating copy to clipboard operation
pythonizer copied to clipboard

State variable initialized to a function argument generates bad code

Open snoopyjc opened this issue 3 years ago • 1 comments

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.

snoopyjc avatar Feb 26 '22 04:02 snoopyjc

Fixed in my v0.959 https://github.com/snoopyjc/pythonizer/

snoopyjc avatar Mar 31 '22 22:03 snoopyjc