From 5bc30984c239af433c67a93f4e1a40f079c088c7 Mon Sep 17 00:00:00 2001 From: aps <62445385+apsz3@users.noreply.github.com> Date: Wed, 15 Feb 2023 12:40:06 -0500 Subject: [PATCH] F --- src/compiler.h | 9 ++++++--- tests/_basic.py | 4 +++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/compiler.h b/src/compiler.h index 1a0fc57d..8c2823d6 100644 --- a/src/compiler.h +++ b/src/compiler.h @@ -503,6 +503,7 @@ private: } void exprGrouping() { +// co()->_rvalue = true; match_newlines(mode()==REPL_MODE); do { if (peek() == TK(")")) break; @@ -518,16 +519,18 @@ private: // and push it on the stack as well, // so it is available as a value // in the expression - emit(OP_LOAD_NAME_REF, index); consume(TK(":=")); + emit(OP_LOAD_NAME_REF, index); EXPR(); +// emit(OP_LOAD_NAME, index); emit(OP_STORE_REF); - emit(OP_LOAD_NAME, index); + //emit(OP_LOAD_NAME_REF, index);; } - else EXPR_TUPLE(); + else EXPR(); } while (match(TK(","))); match_newlines(mode()==REPL_MODE); consume(TK(")")); +// co()->_rvalue = false; } void exprList() { diff --git a/tests/_basic.py b/tests/_basic.py index ff94ca8f..a0994ede 100644 --- a/tests/_basic.py +++ b/tests/_basic.py @@ -119,7 +119,9 @@ assert round(-23.2) == -23 assert round(-23.8) == -24 assert (x := 1) == 1 -assert (a := 1, b := 2) +assert (x := 1, y := 2 ) == (1, 2) +z = (a := 1, b := 2) +print(z) assert a == 1 assert b == 2