Berry upstream walrus fix (#21175)

This commit is contained in:
s-hadinger 2024-04-14 15:58:30 +02:00 committed by GitHub
parent 105aa03198
commit 35c2d55382
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 10 additions and 1 deletions

View File

@ -1119,7 +1119,7 @@ static void walrus_expr(bparser *parser, bexpdesc *e)
expr(parser, e);
check_var(parser, e);
if (check_newvar(parser, &e1)) { /* new variable */
new_var(parser, e1.v.s, e);
new_var(parser, e1.v.s, &e1);
}
if (be_code_setvar(parser->finfo, &e1, e, btrue /* do not release register */ )) {
parser->lexer.linenumber = line;

View File

@ -70,3 +70,12 @@ class confused_walrus
end
var ins = confused_walrus()
assert(ins.f() == ins)
# Check overwriting a builtin (https://github.com/berry-lang/berry/issues/416)
def check_overwrite_builtin()
print := 1
assert(print == 1)
end
check_overwrite_builtin()