+
    Bi}v                         ^ RI t Rs ! R R] P                  4      t ! R R] P                  4      t ! R R] P                  4      t]R8X  d   ] P                  ! 4        R# R# )	    Nc                      a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t Rt!V t"R# ) NamedExpressionInvalidTestc                    R pV P                  \        R4      ;_uu_ 4        \        V/ / 4       RRR4       R#   + '       g   i     R# ; i)zx := 0invalid syntaxNassertRaisesRegexSyntaxErrorexecselfcodes   & 2/usr/lib/python3.14/test/test_named_expressions.py test_named_expression_invalid_01;NamedExpressionInvalidTest.test_named_expression_invalid_01   s7    ##K1ABBr2 CBBB	   9A
	c                    R pV P                  \        R4      ;_uu_ 4        \        V/ / 4       RRR4       R#   + '       g   i     R# ; i)z
x = y := 0r   Nr   r   s   & r    test_named_expression_invalid_02;NamedExpressionInvalidTest.test_named_expression_invalid_02   s7    ##K1ABBr2 CBBBr   c                    R pV P                  \        R4      ;_uu_ 4        \        V/ / 4       RRR4       R#   + '       g   i     R# ; i)z	y := f(x)r   Nr   r   s   & r    test_named_expression_invalid_03;NamedExpressionInvalidTest.test_named_expression_invalid_03   s7    ##K1ABBr2 CBBBr   c                    R pV P                  \        R4      ;_uu_ 4        \        V/ / 4       RRR4       R#   + '       g   i     R# ; i)zy0 = y1 := f(x)r   Nr   r   s   & r    test_named_expression_invalid_04;NamedExpressionInvalidTest.test_named_expression_invalid_04   s7    $##K1ABBr2 CBBBr   c                    R pV P                  \        R4      ;_uu_ 4        \        V/ / 4       RRR4       R#   + '       g   i     R# ; i)z((a, b) := (1, 2))z,cannot use assignment expressions with tupleNr   r   s   & r    test_named_expression_invalid_06;NamedExpressionInvalidTest.test_named_expression_invalid_06   s7    '##K1_``r2 a```r   c                    R pV P                  \        R4      ;_uu_ 4        \        V/ / 4       RRR4       R#   + '       g   i     R# ; i)zdef spam(a = b := 42): passr   Nr   r   s   & r    test_named_expression_invalid_07;NamedExpressionInvalidTest.test_named_expression_invalid_07%   s7    0##K1ABBr2 CBBBr   c                    R pV P                  \        R4      ;_uu_ 4        \        V/ / 4       RRR4       R#   + '       g   i     R# ; i)zdef spam(a: b := 42 = 5): passr   Nr   r   s   & r    test_named_expression_invalid_08;NamedExpressionInvalidTest.test_named_expression_invalid_08+   s7    3##K1ABBr2 CBBBr   c                    R pV P                  \        R4      ;_uu_ 4        \        V/ / 4       RRR4       R#   + '       g   i     R# ; i)zspam(a=b := 'c')r   Nr   r   s   & r    test_named_expression_invalid_09;NamedExpressionInvalidTest.test_named_expression_invalid_091   s7    %##K1ABBr2 CBBBr   c                    R pV P                  \        R4      ;_uu_ 4        \        V/ / 4       RRR4       R#   + '       g   i     R# ; i)zspam(x = y := f(x))r   Nr   r   s   & r    test_named_expression_invalid_10;NamedExpressionInvalidTest.test_named_expression_invalid_107   s7    (##K1ABBr2 CBBBr   c                    R pV P                  \        R4      ;_uu_ 4        \        V/ / 4       RRR4       R#   + '       g   i     R# ; i)zspam(a=1, b := 2),positional argument follows keyword argumentNr   r   s   & r    test_named_expression_invalid_11;NamedExpressionInvalidTest.test_named_expression_invalid_11=   s@    &##K:< <r2< < < <r   c                    R pV P                  \        R4      ;_uu_ 4        \        V/ / 4       RRR4       R#   + '       g   i     R# ; izspam(a=1, (b := 2))r+   Nr   r   s   & r    test_named_expression_invalid_12;NamedExpressionInvalidTest.test_named_expression_invalid_12D   @    (##K:< <r2< < < <r   c                    R pV P                  \        R4      ;_uu_ 4        \        V/ / 4       RRR4       R#   + '       g   i     R# ; ir/   r   r   s   & r    test_named_expression_invalid_13;NamedExpressionInvalidTest.test_named_expression_invalid_13K   r2   r   c                    R pV P                  \        R4      ;_uu_ 4        \        V/ / 4       RRR4       R#   + '       g   i     R# ; i)z(x := lambda: y := 1)r   Nr   r   s   & r    test_named_expression_invalid_14;NamedExpressionInvalidTest.test_named_expression_invalid_14R   s7    *##K1ABBr2 CBBBr   c                    R pV P                  \        R4      ;_uu_ 4        \        V/ / 4       RRR4       R#   + '       g   i     R# ; i)z(lambda: x := 1)z-cannot use assignment expressions with lambdaNr   r   s   & r    test_named_expression_invalid_15;NamedExpressionInvalidTest.test_named_expression_invalid_15X   s@    %##K;= =r2= = = =r   c                    R pV P                  \        R4      ;_uu_ 4        \        V/ / 4       RRR4       R#   + '       g   i     R# ; i)z[i + 1 for i in i := [1,2]]r   Nr   r   s   & r    test_named_expression_invalid_16;NamedExpressionInvalidTest.test_named_expression_invalid_16_   s7    ,##K1ABBr2 CBBBr   c                    R pV P                  \        R4      ;_uu_ 4        \        V/ / 4       RRR4       R#   + '       g   i     R# ; i)z-[i := 0, j := 1 for i, j in [(1, 2), (3, 4)]]z;did you forget parentheses around the comprehension target?Nr   r   s   & r    test_named_expression_invalid_17;NamedExpressionInvalidTest.test_named_expression_invalid_17e   sF    >##KMO Or2O O O Or   c                    R pV P                  \        R4      ;_uu_ 4        \        V/ / 4       RRR4       R#   + '       g   i     R# ; i)zNclass Foo():
            [(42, 1 + ((( j := i )))) for i in range(5)]
        zKassignment expression within a comprehension cannot be used in a class bodyNr   r   s   & r   +test_named_expression_invalid_in_class_bodyFNamedExpressionInvalidTest.test_named_expression_invalid_in_class_bodyl   sJ     ##KY[ [r2[ [ [ [r   c                    . ROpV F  w  r#R F  w  rEVP                  WE4      pV P                  W$VR7      ;_uu_ 4        V P                  \        4      ;_uu_ 4        \	        V/ 4       RRR4       V P                  \        4      ;_uu_ 4        \	        V/ / 4       RRR4       \	        RV 2/ 4       RRR4       K  	  K  	  R#   + '       g   i     Ld; i  + '       g   i     LD; i  + '       g   i     K  ; i)Complex expression: ccaselparrparNlambda: ))rF   z2{0}(c := 1) for a, (*b, c[d+e::f(g)], h.i) in j{1})zComplex expression: dz2{0}(d := 1) for a, (*b, c[d+e::f(g)], h.i) in j{1})zComplex expression: ez2{0}(e := 1) for a, (*b, c[d+e::f(g)], h.i) in j{1})zComplex expression: fz2{0}(f := 1) for a, (*b, c[d+e::f(g)], h.i) in j{1})zComplex expression: gz2{0}(g := 1) for a, (*b, c[d+e::f(g)], h.i) in j{1})zComplex expression: hz2{0}(h := 1) for a, (*b, c[d+e::f(g)], h.i) in j{1})zComplex expression: iz2{0}(i := 1) for a, (*b, c[d+e::f(g)], h.i) in j{1})zComplex expression: jz2{0}(j := 1) for a, (*b, c[d+e::f(g)], h.i) in j{1})())[]){})formatsubTestassertRaises	NameErrorr
   )r   cases	test_caser   rI   rJ   s   &     r   8test_named_expression_valid_rebinding_iteration_variableSNamedExpressionInvalidTest.test_named_expression_valid_rebinding_iteration_variableu   s    
&  %OIB
{{4.\\y$\GG
 **955T2 6**955T2r* 68D6*B/ HG C  % 6555 HGGs;   C,	C*%C,	CC,	CC,	C)$C,	,C=c                   RR.pV F  w  r#pRV R2pR F  w  rgVP                  Wg4      pV P                  W&VR7      ;_uu_ 4        V P                  \        V4      ;_uu_ 4        \	        V/ 4       RRR4       V P                  \        V4      ;_uu_ 4        \	        V/ / 4       RRR4       V P                  \        V4      ;_uu_ 4        \	        RV 2/ 4       RRR4       RRR4       K  	  K  	  R#   + '       g   i     L; i  + '       g   i     Lk; i  + '       g   i     LH; i  + '       g   i     EK,  ; i)	Complex expression: aFassignment expression cannot rebind comprehension iteration variable ''rG   NrK   )r\   az2{0}(a := 1) for a, (*b, c[d+e::f(g)], h.i) in j{1})Complex expression: bbz2{0}(b := 1) for a, (*b, c[d+e::f(g)], h.i) in j{1}rL   )rS   rT   r   r	   r
   )r   rW   rX   targetr   msgrI   rJ   s   &       r   :test_named_expression_invalid_rebinding_iteration_variableUNamedExpressionInvalidTest.test_named_expression_invalid_rebinding_iteration_variable   s   
FF	
 (-#ItZ[aZbbcdCB
{{4.\\y$\GG
 //SAAT2 B//SAAT2r* B//SAAxv.3 B HG C (- BAAAAA HGGsT   D/	%C62&D/	D	&&D/	DD/	6DD/		DD/	D,'D/	/Ec           
     N   . ROpV F  w  r#pRV R2pV P                  VR7      ;_uu_ 4        V P                  \        V4      ;_uu_ 4        \        V/ 4       RRR4       V P                  \        V4      ;_uu_ 4        \        V/ / 4       RRR4       V P                  \        V4      ;_uu_ 4        \        RV 2/ 4       RRR4       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     Lg; i  + '       g   i     LD; i  + '       g   i     EK  ; i)Local reuser]   r^   rH   NrK   ))rg   iz[i := 0 for i in range(5)])Nested reusejz0[[(j := 0) for i in range(5)] for j in range(5)])Reuse inner loop targetrk   z.[(j := 0) for i in range(5) for j in range(5)])Unpacking reuseri   z[i := 0 for i, j in [(0, 1)]])Reuse in loop conditionri   z#[i+1 for i in range(5) if (i := 0)])Unreachable reuseri   z#[False or (i:=0) for i in range(5)])Unreachable nested reuseri   z?[(i, j) for i in range(5) for j in range(5) if True or (i:=10)]rT   r   r	   r
   r   rW   rH   rb   r   rc   s   &     r   Mtest_named_expression_invalid_rebinding_list_comprehension_iteration_variablehNamedExpressionInvalidTest.test_named_expression_invalid_rebinding_list_comprehension_iteration_variable   s    	
 #(D$Z[aZbbcdC4((++K==rN >++K==r2& >++K==8D6*B/ > )( #( >===== )((S   DC&D?C,&D3C?DC)$D,C<7D?D
DD$c           
     N   RR.pV F  w  r#pRV R2pV P                  VR7      ;_uu_ 4        V P                  \        V4      ;_uu_ 4        \        V/ 4       RRR4       V P                  \        V4      ;_uu_ 4        \        V/ / 4       RRR4       V P                  \        V4      ;_uu_ 4        \        RV 2/ 4       RRR4       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     Lg; i  + '       g   i     LD; i  + '       g   i     EK  ; i)Inner reuseEcomprehension inner loop cannot rebind assignment expression target 'r^   rh   NrK   )rw   rk   z3[i for i in range(5) if (j := 0) for j in range(5)])Inner unpacking reuserk   z6[i for i in range(5) if (j := 0) for j, k in [(0, 1)]]rq   rr   s   &     r   Etest_named_expression_invalid_rebinding_list_comprehension_inner_loop`NamedExpressionInvalidTest.test_named_expression_invalid_rebinding_list_comprehension_inner_loop       Wd
 #(D$YZ`YaabcC4((++K==rN >++K==r2& >++K==8D6*B/ > )( #( >===== )((ru   c           
     D   . ROpRpV F  w  r4V P                  VR7      ;_uu_ 4        V P                  \        V4      ;_uu_ 4        \        V/ 4       RRR4       V P                  \        V4      ;_uu_ 4        \        V/ / 4       RRR4       V P                  \        V4      ;_uu_ 4        \        RV 2/ 4       RRR4       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     Lg; i  + '       g   i     LD; i  + '       g   i     EK  ; i)	Top levelKassignment expression cannot be used in a comprehension iterable expressionrh   NrK   )	)r~   z[i for i in (i := range(5))])Inside tuplez"[i for i in (2, 3, i := range(5))])Inside listz"[i for i in [2, 3, i := range(5)]])Different namez[i for i in (j := range(5))])Lambda expressionz'[i for i in (lambda:(j := range(5)))()])
Inner loopz.[i for i in range(5) for j in (i := range(5))])Nested comprehensionz)[i for i in [j for j in (k := range(5))]])Nested comprehension conditionz1[i for i in [j for j in range(5) if (j := True)]])Nested comprehension bodyz,[i for i in [(j := True) for j in range(5)]]rq   r   rW   rc   rH   r   s   &    r   Dtest_named_expression_invalid_list_comprehension_iterable_expression_NamedExpressionInvalidTest.test_named_expression_invalid_list_comprehension_iterable_expression       

 \JD4((++K==rN >++K==r2& >++K==8D6*B/ > )(  ====== )((S   DC&D:C'&D.C:>DC$D'C72D:D
DDc           
     N   . ROpV F  w  r#pRV R2pV P                  VR7      ;_uu_ 4        V P                  \        V4      ;_uu_ 4        \        V/ 4       RRR4       V P                  \        V4      ;_uu_ 4        \        V/ / 4       RRR4       V P                  \        V4      ;_uu_ 4        \        RV 2/ 4       RRR4       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     Lg; i  + '       g   i     LD; i  + '       g   i     EK  ; i)rg   r]   r^   rh   NrK   )	)rg   ri   z{i := 0 for i in range(5)})rj   rk   z0{{(j := 0) for i in range(5)} for j in range(5)})rl   rk   z.{(j := 0) for i in range(5) for j in range(5)})rm   ri   z{i := 0 for i, j in {(0, 1)}})rn   ri   z#{i+1 for i in range(5) if (i := 0)})ro   ri   z#{False or (i:=0) for i in range(5)})rp   ri   z?{(i, j) for i in range(5) for j in range(5) if True or (i:=10)})r\   r_   z.{(a := 1) for a, (*b, c[d+e::f(g)], h.i) in j})r`   ra   z.{(b := 1) for a, (*b, c[d+e::f(g)], h.i) in j}rq   rr   s   &     r   Ltest_named_expression_invalid_rebinding_set_comprehension_iteration_variablegNamedExpressionInvalidTest.test_named_expression_invalid_rebinding_set_comprehension_iteration_variable   s    
 #(D$Z[aZbbcdC4((++K==rN >++K==r2& >++K==8D6*B/ > )( #( >===== )((ru   c           
     N   RR.pV F  w  r#pRV R2pV P                  VR7      ;_uu_ 4        V P                  \        V4      ;_uu_ 4        \        V/ 4       RRR4       V P                  \        V4      ;_uu_ 4        \        V/ / 4       RRR4       V P                  \        V4      ;_uu_ 4        \        RV 2/ 4       RRR4       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     Lg; i  + '       g   i     LD; i  + '       g   i     EK  ; i)rw   rx   r^   rh   NrK   )rw   rk   z3{i for i in range(5) if (j := 0) for j in range(5)})ry   rk   z6{i for i in range(5) if (j := 0) for j, k in {(0, 1)}}rq   rr   s   &     r   Dtest_named_expression_invalid_rebinding_set_comprehension_inner_loop_NamedExpressionInvalidTest.test_named_expression_invalid_rebinding_set_comprehension_inner_loop  r|   ru   c           
     D   . ROpRpV F  w  r4V P                  VR7      ;_uu_ 4        V P                  \        V4      ;_uu_ 4        \        V/ 4       RRR4       V P                  \        V4      ;_uu_ 4        \        V/ / 4       RRR4       V P                  \        V4      ;_uu_ 4        \        RV 2/ 4       RRR4       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     Lg; i  + '       g   i     LD; i  + '       g   i     EK  ; i)r~   r   rh   NrK   )	)r~   z{i for i in (i := range(5))})r   z"{i for i in (2, 3, i := range(5))})r   z"{i for i in {2, 3, i := range(5)}})r   z{i for i in (j := range(5))})r   z'{i for i in (lambda:(j := range(5)))()})r   z.{i for i in range(5) for j in (i := range(5))})r   z){i for i in {j for j in (k := range(5))}})r   z1{i for i in {j for j in range(5) if (j := True)}})r   z,{i for i in {(j := True) for j in range(5)}}rq   r   s   &    r   Ctest_named_expression_invalid_set_comprehension_iterable_expression^NamedExpressionInvalidTest.test_named_expression_invalid_set_comprehension_iterable_expression  r   r   c           
     N   . ROpV F  w  r#pRV R2pV P                  VR7      ;_uu_ 4        V P                  \        V4      ;_uu_ 4        \        V/ 4       RRR4       V P                  \        V4      ;_uu_ 4        \        V/ / 4       RRR4       V P                  \        V4      ;_uu_ 4        \        RV 2/ 4       RRR4       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     Lg; i  + '       g   i     LD; i  + '       g   i     EK  ; i)	Key reuser]   r^   rh   NrK   ))r   ri   z{(i := 0): 1 for i in range(5)})zValue reuseri   z{1: (i := 0) for i in range(5)})z
Both reuseri   z&{(i := 0): (i := 0) for i in range(5)})rj   rk   z3{{(j := 0): 1 for i in range(5)} for j in range(5)})rl   rk   z1{(j := 0): 1 for i in range(5) for j in range(5)})zUnpacking key reuseri   z"{(i := 0): 1 for i, j in {(0, 1)}})zUnpacking value reuseri   z"{1: (i := 0) for i, j in {(0, 1)}})rn   ri   z&{i+1: 1 for i in range(5) if (i := 0)})ro   ri   z({(False or (i:=0)): 1 for i in range(5)})rp   ri   z={i: j for i in range(5) for j in range(5) if True or (i:=10)})r\   r_   z1{(a := 1): 1 for a, (*b, c[d+e::f(g)], h.i) in j})r`   ra   z1{(b := 1): 1 for a, (*b, c[d+e::f(g)], h.i) in j}rq   rr   s   &     r   Mtest_named_expression_invalid_rebinding_dict_comprehension_iteration_variablehNamedExpressionInvalidTest.test_named_expression_invalid_rebinding_dict_comprehension_iteration_variable-  s    
$ #(D$Z[aZbbcdC4((++K==rN >++K==r2& >++K==8D6*B/ > )( #( >===== )((ru   c           
     N   RR.pV F  w  r#pRV R2pV P                  VR7      ;_uu_ 4        V P                  \        V4      ;_uu_ 4        \        V/ 4       RRR4       V P                  \        V4      ;_uu_ 4        \        V/ / 4       RRR4       V P                  \        V4      ;_uu_ 4        \        RV 2/ 4       RRR4       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     Lg; i  + '       g   i     LD; i  + '       g   i     EK  ; i)rw   rx   r^   rh   NrK   )rw   rk   z6{i: 1 for i in range(5) if (j := 0) for j in range(5)})ry   rk   z9{i: 1 for i in range(5) if (j := 0) for j, k in {(0, 1)}}rq   rr   s   &     r   Etest_named_expression_invalid_rebinding_dict_comprehension_inner_loop`NamedExpressionInvalidTest.test_named_expression_invalid_rebinding_dict_comprehension_inner_loopJ  s    Zg
 #(D$YZ`YaabcC4((++K==rN >++K==r2& >++K==8D6*B/ > )( #( >===== )((ru   c           
     D   . ROpRpV F  w  r4V P                  VR7      ;_uu_ 4        V P                  \        V4      ;_uu_ 4        \        V/ 4       RRR4       V P                  \        V4      ;_uu_ 4        \        V/ / 4       RRR4       V P                  \        V4      ;_uu_ 4        \        RV 2/ 4       RRR4       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     Lg; i  + '       g   i     LD; i  + '       g   i     EK  ; i)r~   r   rh   NrK   )	)r~   z{i: 1 for i in (i := range(5))})r   z%{i: 1 for i in (2, 3, i := range(5))})r   z%{i: 1 for i in [2, 3, i := range(5)]})r   z{i: 1 for i in (j := range(5))})r   z*{i: 1 for i in (lambda:(j := range(5)))()})r   z1{i: 1 for i in range(5) for j in (i := range(5))})r   z/{i: 1 for i in {j: 2 for j in (k := range(5))}})r   z7{i: 1 for i in {j: 2 for j in range(5) if (j := True)}})r   z/{i: 1 for i in {(j := True) for j in range(5)}}rq   r   s   &    r   Dtest_named_expression_invalid_dict_comprehension_iterable_expression_NamedExpressionInvalidTest.test_named_expression_invalid_dict_comprehension_iterable_expressionY  r   r   c                    R pV P                  \        R4      ;_uu_ 4        \        V/ / 4       RRR4       R#   + '       g   i     R# ; i)zqclass Foo:
            def bar(self):
                [[(__x:=2) for _ in range(2)] for __x in range(2)]
        zJassignment expression cannot rebind comprehension iteration variable '__x'Nr   r   s   & r   5test_named_expression_invalid_mangled_class_variablesPNamedExpressionInvalidTest.test_named_expression_invalid_mangled_class_variableso  sJ    
 ##KXZ Zr2Z Z Z Zr    N)#__name__
__module____qualname____firstlineno__r   r   r   r   r   r   r"   r%   r(   r,   r0   r4   r7   r:   r=   r@   rC   rY   rd   rs   rz   r   r   r   r   r   r   r   r   __static_attributes____classdictcell____classdict__s   @r   r   r      s     #0J440*00,0400,0:00,     r   c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tRtV tR# )NamedExpressionAssignmentTestiz  c                2    ^
;p V P                  V^
4       R# )
   NassertEqualr   r_   s   & r   #test_named_expression_assignment_01ANamedExpressionAssignmentTest.test_named_expression_assignment_01|  s    Br   c                6    ^pT;p V P                  V^4       R#    Nr   r   s   & r   #test_named_expression_assignment_02ANamedExpressionAssignmentTest.test_named_expression_assignment_02  s    Br   c                2    ^;p V P                  V^4       R#    Nr   )r   totals   & r   #test_named_expression_assignment_03ANamedExpressionAssignmentTest.test_named_expression_assignment_03  s    "r   c                2    R;p V P                  VR4       R# )r   Nr         r   )r   infos   & r   #test_named_expression_assignment_04ANamedExpressionAssignmentTest.test_named_expression_assignment_04  s    	y)r   c                6    ^;p^3 V P                  V^4       R# r   r   )r   xs   & r   #test_named_expression_assignment_05ANamedExpressionAssignmentTest.test_named_expression_assignment_05  s    Ar   c                    ^ ;p;p;p V P                  V^ 4       V P                  V^ 4       V P                  V^ 4       R# )r   Nr   )r   r   yzs   &   r   #test_named_expression_assignment_06ANamedExpressionAssignmentTest.test_named_expression_assignment_06  sB    VQ}q	AAAr   c                2    R;p V P                  VR4       R# )r   N)r   r   r   )r   locs   & r   #test_named_expression_assignment_07ANamedExpressionAssignmentTest.test_named_expression_assignment_07  s    f%r   c                d    R ;p'       d   V P                  VR 4       R# V P                  R4       R# )eggs0variable was not assigned using named expressionNr   failr   spams   & r   #test_named_expression_assignment_08ANamedExpressionAssignmentTest.test_named_expression_assignment_08  s(    >4>T6*iiJKr   c                b    R ;p'       d   V P                  V4       R# V P                  R4       R# )Tr   N)
assertTruer   r   s   & r   #test_named_expression_assignment_09ANamedExpressionAssignmentTest.test_named_expression_assignment_09  s$    !\T\OOD!iiJKr   c                b    ^
;p^
8X  d   V P                  V^
4       R# V P                  R4       R# )r   r   Nr   )r   matchs   & r   #test_named_expression_assignment_10ANamedExpressionAssignmentTest.test_named_expression_assignment_10  s+    KEBUB'iiJKr   c                    R  p. ROpV Uu. uF  q1! V4      ;p^ 8  g   K  W4W4,          3NK  	  ppV P                  V. RO4       R# u upi )c                     V # Nr   r_   s   &r   r   ONamedExpressionAssignmentTest.test_named_expression_assignment_11.<locals>.spam      Hr   Nr   )r   r         ?)r   r   r   )r   r   r   r   r   r   
input_datar   r   ress   &     r   #test_named_expression_assignment_11ANamedExpressionAssignmentTest.test_named_expression_assignment_11  sN    	
$.EJqQ<112D{ac{JEEF Fs
   AAc                    R  p\        ^^4       Uu. uF  q!! V4      ;q2V,          .NK  	  ppV P                  V^R.^R.^R.^R..4       R# u upi )c                     V # r   r   r   s   &r   r   ONamedExpressionAssignmentTest.test_named_expression_assignment_12.<locals>.spam  r   r   r   Nranger   r   r   r   r   r   s   &    r   #test_named_expression_assignment_12ANamedExpressionAssignmentTest.test_named_expression_assignment_12  s^    	,1!QK8KqT!Wc"K83x!SAs8aXFG 9s   Ac                p    \        ^^.;p4      pV P                  V^4       V P                  V^^.4       R# r   lenr   )r   lineslengths   &  r   #test_named_expression_assignment_13ANamedExpressionAssignmentTest.test_named_expression_assignment_13  s8    q!f_U%#1&r   c                    ^	p^p^pWW^,
          ,          ,          ;p8  d!   V^,
          V,          V,           V,          pK<  V P                  V^4       R# )	   Nr   )r   r_   nr   ds   &    r   #test_named_expression_assignment_14ANamedExpressionAssignmentTest.test_named_expression_assignment_14  sN     Q1X%1&A#q1"AAr   c                d    R ;p'       d   V P                  R4       K  V P                  VR 4       R# )FzWhile body executedN)r   r   r   s   & r   #test_named_expression_assignment_15ANamedExpressionAssignmentTest.test_named_expression_assignment_15  s(    jajII+,E"r   c                    ^^r!\        ^4       Uu/ uF  q1;qB;qV,           ;p,           V,
          bK   	  ppV P                  V^^^^^^^^^^^^/4       R# u upi r   r   )r   r_   ra   __cfibs   &     r   #test_named_expression_assignment_16ANamedExpressionAssignmentTest.test_named_expression_assignment_16  si    !1?DQxHx&!a%ZQ0144xHq!Q1aAq"b"EF Is   $Ac                v    ^.pV^ ;p,          pV P                  V^ 4       V P                  W1^ ,          4       R# r   r   )r   r_   ra   elements   &   r   #test_named_expression_assignment_17ANamedExpressionAssignmentTest.test_named_expression_assignment_17  s8    CqDA'AA$'r   c                     ! R  R4      pV! ^.^..4      pV^ ;p^ ;p3,          pV P                  V^ 4       V P                  V^ 4       V P                  WRP                  V,          V,          4       R# )c                   ,   a  ] tR tRt o R tR tRtV tR# )]NamedExpressionAssignmentTest.test_named_expression_assignment_18.<locals>.TwoDimensionalListi  c                    Wn         R # r   two_dimensional_list)r   r  s   &&r   __init__fNamedExpressionAssignmentTest.test_named_expression_assignment_18.<locals>.TwoDimensionalList.__init__  s    ,@)r   c                R    V P                   V^ ,          ,          V^,          ,          # )r   r  )r   indexs   &&r   __getitem__iNamedExpressionAssignmentTest.test_named_expression_assignment_18.<locals>.TwoDimensionalList.__getitem__  s     00q:58DDr   r  N)r   r   r   r   r  r  r   r   r   s   @r   TwoDimensionalListr    s     AE Er   r!  N)r   r  )r   r!  r_   ra   r  r  s   &     r   #test_named_expression_assignment_18ANamedExpressionAssignmentTest.test_named_expression_assignment_18  su    	E 	E aSz*qDAQ$!J-AA"8"8";A">?r   r   N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r	  r  r  r"  r   r   r   s   @r   r   r   z  sl      
 #
*

&
L
L
L
GH' #G
(@ @r   r   c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tRtV t R# )NamedExpressionScopeTesti  c                    R pV P                  \        R4      ;_uu_ 4        \        V/ / 4       RRR4       R#   + '       g   i     R# ; i)z!def spam():
    (a := 5)
print(a)zname 'a' is not definedN)r   rV   r
   r   s   & r   test_named_expression_scope_017NamedExpressionScopeTest.test_named_expression_scope_01  s;     ##I/HIIr2 JIIIr   c                    ^ p\        ^4       Uu. uF  q!V,           ;pNK  	  ppV P                  V. RO4       V P                  V^
4       R# u upi r   N)r   r   r      r   r   )r   r   vpartial_sumss   &   r   test_named_expression_scope_027NamedExpressionScopeTest.test_named_expression_scope_02  sO    49!H=Hq**H='78# >   Ac                   a \         ;QJ d    V3R  lR 4       F  '       g   K   RM	  RM! V3R  lR 4       4      pV P                  V4       V P                  S^4       R# )c              3   0   <"   T F  q;o^8H  x  K  	  R# 5ir   r   ).0numlastNums   & r   	<genexpr>JNamedExpressionScopeTest.test_named_expression_scope_03.<locals>.<genexpr>	  s     E9C>7a/9s   TFNr   )anyr   r   )r   containsOner5  s   & @r   test_named_expression_scope_037NamedExpressionScopeTest.test_named_expression_scope_03  s?    cE9EcccE9EE$!$r   c                    R  p\        ^^4       Uu. uF  q!! V4      ;q2V,          .NK  	  ppV P                  X^4       R# u upi )c                     V # r   r   r   s   &r   r   ENamedExpressionScopeTest.test_named_expression_scope_04.<locals>.spam  r   r   Nr   r   s   &    r   test_named_expression_scope_047NamedExpressionScopeTest.test_named_expression_scope_04  sE    	,1!QK8KqT!Wc"K8A 9s   Ac                    R  p. ROpV Uu. uF  q1! V4      ;p^ 8  g   K  W4W4,          3NK  	  ppV P                  V. RO4       V P                  X^4       R# u upi )c                     V # r   r   r   s   &r   r   ENamedExpressionScopeTest.test_named_expression_scope_05.<locals>.spam  r   r   Nr   r   r   r   s   &     r   test_named_expression_scope_057NamedExpressionScopeTest.test_named_expression_scope_05  s^    	
$.EJqQ<112D{ac{JEEFA Fs
   AAc           	         \        ^4       UUu. uF  p\        ^4       Uu. uF  q";pNK  	  upNK!  	  pppV P                  V. RO. RO.4       V P                  X^4       R# u upi u uppi )r   Nr   r   r   r   )r   rk   ri   r   r   s   &    r   test_named_expression_scope_067NamedExpressionScopeTest.test_named_expression_scope_06  s^    6;Ah?h58,8a		8,h?y)45q! -?s   A(A#A(#A(c                L    \        ^^.;p4       V P                  V^^.4       R# r   r   )r   r   s   & r   test_named_expression_scope_077NamedExpressionScopeTest.test_named_expression_scope_07$  s&    aVOEA'r   c           	         R  pR p\        ^4       Uu. uF  q1! V! T;p4      ;p4      NK  	  ppV P                  V^ ^.4       V P                  X^4       V P                  X^4       R# u upi )c                     V # r   r   r   s   &r   r   ENamedExpressionScopeTest.test_named_expression_scope_08.<locals>.spam*  r   r   c                     V ^,          # r   r   ra   s   &r   r   ENamedExpressionScopeTest.test_named_expression_scope_08.<locals>.eggs-      q5Lr   Nr   )r   r   r   hra   r_   r   s   &      r   test_named_expression_scope_087NamedExpressionScopeTest.test_named_expression_scope_08)  sq    		 16a91t1fa%A&9q!f%AA	 :s   A*c           	         R  pR p\        ^4       Uu. uF  q1! V! T;p4      ;p4      NK  	  ppV P                  V^ ^.4       V P                  X^4       R# u upi )c                     V # r   r   r   s   &r   r   ENamedExpressionScopeTest.test_named_expression_scope_09.<locals>.spam7  r   r   c                     V ^,          # rQ  r   rR  s   &r   r   ENamedExpressionScopeTest.test_named_expression_scope_09.<locals>.eggs:  rT  r   Nr   )r   r   r   rU  r_   r   s   &     r   test_named_expression_scope_097NamedExpressionScopeTest.test_named_expression_scope_096  sa    		 16a91t1fa%A&9q!f%A :s   Ac           	     
   \        ^4       UUu. uF"  p\        ^4       Uu. uF  p^;pNK	  	  up;pNK$  	  pppV P                  V^^.^^..4       V P                  X^4       V P                  X^^.4       R# u upi u uppi )r   Nr   )r   rk   ri   r_   ra   r   s   &     r   test_named_expression_scope_107NamedExpressionScopeTest.test_named_expression_scope_10B  s    8=aA1U1X.X!VQVX..q.A1v1v./AQF#	 /As   A?A:	A?:A?c                    \        ^4       Uu. uF  q;pNK  	  ppV P                  V. RO4       V P                  X^4       R# u upi )   N)r   r   r   r      r   )r   ri   rk   r   s   &   r   test_named_expression_scope_117NamedExpressionScopeTest.test_named_expression_scope_11I  sC    $Qx(x!vqvx(o.A )s   Ac                    ^ p\        ^4       Uu. uF  q"V,           ;pNK  	  ppV P                  V. RO4       V P                  V^
4       R# u upi r*  r   )r   ra   ri   r   s   &   r   test_named_expression_scope_177NamedExpressionScopeTest.test_named_expression_scope_17O  sM    #(8,8aEzqz8,./B -r0  c                h    R  pV! ^;p4      pV P                  V^4       V P                  V^4       R# )c                     V # r   r   r   s   &r   r   ENamedExpressionScopeTest.test_named_expression_scope_18.<locals>.spamW  r   r   Nr   r   r   ra   r   s   &   r   test_named_expression_scope_187NamedExpressionScopeTest.test_named_expression_scope_18V  s6    	 61la Ar   c                h    R  pV! ^;p4      pV P                  V^4       V P                  V^4       R# )c                     V # r   r   r   s   &r   r   ENamedExpressionScopeTest.test_named_expression_scope_19.<locals>.spam`  r   r   Nr   rm  s   &   r   test_named_expression_scope_197NamedExpressionScopeTest.test_named_expression_scope_19_  s6    	 FAna Ar   c                j    R  pV! ^;pR7      pV P                  V^4       V P                  V^4       R# )c                     V # r   r   r   s   &r   r   ENamedExpressionScopeTest.test_named_expression_scope_20.<locals>.spami  r   r   r   Nr   rm  s   &   r   test_named_expression_scope_207NamedExpressionScopeTest.test_named_expression_scope_20h  s7    	 1faa Ar   c                l    R  pV! ^;p^R7      pV P                  V^4       V P                  V^4       R# )c                     W,           # r   r   r_   ra   s   &&r   r   ENamedExpressionScopeTest.test_named_expression_scope_21.<locals>.spamr  	    5Lr   rR  Nr   r   r   r  r   s   &   r   test_named_expression_scope_217NamedExpressionScopeTest.test_named_expression_scope_21q  s9    	 61Qa Ar   c                l    R  pV! ^;p^R7      pV P                  V^4       V P                  V^4       R# )c                     W,           # r   r   r|  s   &&r   r   ENamedExpressionScopeTest.test_named_expression_scope_22.<locals>.spam{  r~  r   rR  Nr   r  s   &   r   test_named_expression_scope_227NamedExpressionScopeTest.test_named_expression_scope_22z  s9    	 FAq!a Ar   c                l    R  pV! ^;p^R7      pV P                  V^4       V P                  V^4       R# )c                     W,           # r   r   r|  s   &&r   r   ENamedExpressionScopeTest.test_named_expression_scope_23.<locals>.spam  r~  r   )ra   r_   Nr   r  s   &   r   test_named_expression_scope_237NamedExpressionScopeTest.test_named_expression_scope_23  s9    	 1fa#a Ar   c                J   a ^
oV3R lpV! 4        V P                  S^4       R# )r   c                     < ^;o  R# r   r   r   s   r   r   ENamedExpressionScopeTest.test_named_expression_scope_24.<locals>.spam  s
    WQr   Nr   )r   r   r_   s   & @r   test_named_expression_scope_247NamedExpressionScopeTest.test_named_expression_scope_24  s$    	 	Br   c                X    / pR p\        W!/ 4       V P                  VR,          ^4       R# )z4a = 10
def spam():
    global a
    (a := 20)
spam()r_   N)r
   r   )r   nsr   s   &  r   test_named_expression_scope_257NamedExpressionScopeTest.test_named_expression_scope_25  s.    
 	TrC"%r   c                   R pRpRpRpRRV 23RRV R23R	RV 23R
RV R23RRV 23RRV R23RRV 23RRV R23.pV Fi  w  rgV P                  VR7      ;_uu_ 4        / p\        Wx4       V P                  VR,          ^4       V P                  VR,          . RO4       RRR4       Kk  	  R#   + '       g   i     K  ; i)z/[x := i for i in range(3) if (x := i) or not x]z([x := i for i in range(3) if x or not x]z*[x for i in range(3) if (x := i) or not x]zF[j for i in range(3) if x or not x for j in range(3) if (x := i)][:-3]zRebind globalzx = 1; result = zRebind nonlocalzresult, x = (lambda x=1: (z, x))()zFilter globalzFilter nonlocalzBody globalzBody nonlocalzNested globalzNested nonlocalrh   r   resultNrG  )rT   r
   r   )	r   	rebinding
filter_refbody_ref
nested_refrW   rH   r   r  s	   &        r   6test_named_expression_variable_reuse_in_comprehensionsONamedExpressionScopeTest.test_named_expression_variable_reuse_in_comprehensions  s    F	?
?]
 0<="<YKw OP 0=>"<ZL PQ.xj9: :8*GLM 0=>"<ZL PQ	
  JD4((T  C!,  Hy9	 )(  (((s    AB00Cc                z   a a \        4       oV V3R  lp V! 4        S P                  \        S4       RsR#   Rsi ; i)c                  |   < \        ^4       U Uu. uF  p S;sNK	  	   p pSP                  \        S4       R# u upp i r   )r   
GLOBAL_VARr   )_r  r   sentinels     r   fFNamedExpressionScopeTest.test_named_expression_global_scope.<locals>.f  s6    -21X6X8#Z#X6Z2 7s   8Nobjectr   r  r   r  r  s   f @r   "test_named_expression_global_scope;NamedExpressionScopeTest.test_named_expression_global_scope  s4    8	3	CZ2JJs   6 :c                f   a a \        4       oV V3R  lpV! 4        S P                  \        R4       R# )c                  r   < R p \        ^4       Uu. uF  pS;p NK	  	   pSP                  V S4       R # u upi r   r   )r  r  r   r  s     r   r  XNamedExpressionScopeTest.test_named_expression_global_scope_no_global_keyword.<locals>.f  s;    J-21X6X8#Z#X6Z2 7s   4Nr  r  s   f @r   4test_named_expression_global_scope_no_global_keywordMNamedExpressionScopeTest.test_named_expression_global_scope_no_global_keyword  s&    8	3 	
T*r   c                :   a a \        4       oV V3R  lpV! 4        R# )c                  N   <a R oVV3R lp V ! 4        SP                  SS4       R # )Nc                  J   < \        ^4       U u. uF  p S;oNK	  	   p R# u up i r   r   r  nonlocal_varr  s    r   gSNamedExpressionScopeTest.test_named_expression_nonlocal_scope.<locals>.f.<locals>.g  s$    388<8a))8<<    r   )r  r  r   r  s    @r   r  HNamedExpressionScopeTest.test_named_expression_nonlocal_scope.<locals>.f  s$    L= C\84r   Nr  r  s   f @r   $test_named_expression_nonlocal_scope=NamedExpressionScopeTest.test_named_expression_nonlocal_scope  s    8	5 	
r   c                :   a a \        4       oV V3R  lpV! 4        R# )c                  J   < R p V3R lpV! 4        SP                  V R 4       R # )Nc                  J   < \        ^4       U u. uF  p S;pNK	  	   p R# u up i r   r  r  s     r   r  gNamedExpressionScopeTest.test_named_expression_nonlocal_scope_no_nonlocal_keyword.<locals>.f.<locals>.g  s$    388<8a))8<<r  r   )r  r  r   r  s     r   r  \NamedExpressionScopeTest.test_named_expression_nonlocal_scope_no_nonlocal_keyword.<locals>.f  s"    L=C\40r   Nr  r  s   f @r   8test_named_expression_nonlocal_scope_no_nonlocal_keywordQNamedExpressionScopeTest.test_named_expression_nonlocal_scope_no_nonlocal_keyword  s    8	1 	
r   c                   aa ^o. ROpVV3R lV 4       pV P                  R\        4       4       \        V4       F$  w  r4V P                  WAV,          S,           4       K&  	  R# )r   c              3   8   <"   T F  qS,           ;ox  K  	  R # 5ir   r   )r3  ri   r_   r  s   & r   r6  QNamedExpressionScopeTest.test_named_expression_scope_in_genexp.<locals>.<genexpr>  s     (a1u*!*as   r  N)r   r   r   rd  )assertNotInlocals	enumerater   )r   ra   genexpidxelemr_   r  s   &    @@r   %test_named_expression_scope_in_genexp>NamedExpressionScopeTest.test_named_expression_scope_in_genexp  sP    (a(fh'"6*ICTS6A:. +r   c                x   a   ! V 3R  lR4      pV! 4       P                  4        S P                  \        ^4       R# )c                   .   <a  ] tR tRt o V3R ltRtV tR# )ONamedExpressionScopeTest.test_named_expression_scope_mangled_names.<locals>.Fooi  c                   < ^ s R UUu. uF  p^;s NK	  	   ppSP                  \         ^4       R UUu. uF  p^;s NK	  	   ppSP                  \         ^4       R# u uppi u uppi )r   NrQ  )r   )_Foo__x1r   )self_r_   r  r   s   &  r   r  QNamedExpressionScopeTest.test_named_expression_scope_mangled_names.<locals>.Foo.f  s`    (+,1Q,  q)$'(CqC(  q) -(s
   AA"r   N)r   r   r   r   r  r   r   )r   r   s   @r   Foor    s     * *r   r  N)r  r   r  )r   r  s   f r   )test_named_expression_scope_mangled_namesBNamedExpressionScopeTest.test_named_expression_scope_mangled_names  s*    	* 	* 		1%r   r   N)!r   r   r   r   r'  r.  r:  r?  rD  rH  rK  rV  r]  r`  re  rh  rn  rs  rx  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   s   @r   r%  r%    s     $%"(

$  
&:8+	/& &r   r%  __main__)unittestr  TestCaser   r   r%  r   mainr   r   r   <module>r     sf    
r!2!2 rjy@H$5$5 y@zE&x00 E&N zMMO r   