+
    :iUB                        ^ RI t^ RIt^ RIHtHt ^ RIHt ^ RIH	t	H
t
 ^ RIHt RRRR	/tRR	/tR
 tR tR tR tR tR tR tR tR*R ltR tR tR tR tR tR tR tR tR t R t! ! R R]
]	4      t"R t#R  t$ ! R! R"]
]	4      t% ! R# R$]	4      t& ! R% R&]
]	4      t' ! R' R(]! 4       4      t(])R)8X  d   ]PT                  ! 4        R# R# )+    N)jitnjit)types)TestCaseMemoryLeakMixin)test_factorynopythonFforceobjTc                    a  V 3R  lpV# )c                 :   < R pS! V 4       F  pW,          pK  	  V# )g         )xresygen_funcs   &  Y/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/tests/test_generators.pyconsumermake_consumer.<locals>.consumer   s"    !AHC 
    r   )r   r   s   f r   make_consumerr      s     Or   c              #   :   "   \        V 4       F  pVx  K	  	  R # 5iNrange)r   is   & r   gen1r      s     1X s   c              #   t   "   \        V 4       F$  pVx  \        ^^4       F  pW,           x  K  	  K&  	  R# 5i)   Nr   )r   r   js   &  r   gen2r       s/     1Xq!A%K  s   68c              #   B   "   V x  V R ,           x  V R,           x  R# 5i)g      ?              ?Nr   r   s   &r   gen3r$   #   s     
G
c'M
b&Ls   c              #   N   "   \        ^4       F  pVx  W,           x  K  	  R# 5i   Nr   )r   r   zr   s   &&& r   gen4r)   *   s$     1Xe     #%c               #      "   R# 5ir   Nr   r   r   r   gen5r-   2   s
      	s   c              #   H   "   V ^,           p V^,           pW#,           x  K  5i)r   r   )abr   r   s   &&  r   gen6r1   :   s!     	AA
Ees    "c              #   Z   "   \        V P                  4       F  pW,          x  K  	  R # 5ir   r   sizearrr   s   & r   gen7r7   B   s     388_f s   )+c              #   d   "   V'       * pV x  V'       d   Vx  V'       d   W,           x  R # R # 5ir   r   )r   r   r0   bbs   &&& r   gen8r:   I   s(     B
G	e 	s   00c              #   *   "   \        4        V x  R # 5ir   )objectr#   s   &r   genobjr=   R   s     
H
Gs   c                     R  V  4       # )c              3   2   "   T F  q^,          x  K  	  R# 5i   Nr   ).0r   s   & r   	<genexpr>(return_generator_expr.<locals>.<genexpr>X   s     1aEE1s   r   r#   s   &r   return_generator_exprrE   W   s    1r   c              #   P   "   \         P                  ! V 4       F  pVx  K	  	  R # 5ir   )npndindex)shapeinds   & r   gen_ndindexrK   [   s     zz% 	 !   $&c              #   <   "   V P                    F  pVx  K	  	  R # 5ir   )flat)r6   vals   & r   gen_flatrP   `   s     xx	 s   c              #   P   "   \         P                  ! V 4       F  pVx  K	  	  R # 5ir   )rG   ndenumerate)r6   tups   & r   gen_ndenumeraterT   e   s     ~~c"	 #rL   c               #      "   R x  R# 5i)TNr   r   r   r   gen_boolrV   j   s
     
J   	c               #      "   R x  Rx  R # 5i)Nr"   r   r   r   r   gen_unification_errorrY   n   s     
J
H   c               #   $   "   ^ p Rx   V x p K  5i)r   r"   r   )r   s    r   'gen_optional_and_type_unification_errorr\   s   s     	A
H
Gs   c               #      "   Rx  Rx  R# 5i)r   N)r   rA   )r'      r   r   r   r   gen_changing_tuple_typer_   {   s     
J
JrZ   c               #   &   "   ^x  Rx  Rx  R# 5i)r   g      @y        33333P@Nr   r   r   r   gen_changing_number_typera      s     
G
I
Ks   c                   "  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!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 t0R-# ).TestGeneratorsc                N   V P                  \        V4      \        V4      4       V Uu. uF  q3NK  	  ppV Uu. uF  q3NK  	  ppV P                  WE4       V P                  \        4      ;_uu_ 4        \        V4       R R R 4       R # u upi u upi   + '       g   i     R # ; ir   )assertEqualnextassertRaisesStopIteration)selfpygencgenr   expectedgots   &&&   r   check_generatorTestGenerators.check_generator   s    dT%[1  %%u!Au%$Qq$'}--J .- &---s   
B	
B3BB$	c                    \         p\        \        P                  33/ VB ! V4      pV! ^4      pV! ^4      pV P	                  WE4       R#    N)r   r   r   int32rn   ri   kwargspyfunccrrj   rk   s   &,    r   
check_gen1TestGenerators.check_gen1   A    %++*6*62q	!uU)r   c                2    V P                   ! R/ \        B  R # Nr   )rx   nopython_flagsri   s   &r   	test_gen1TestGenerators.test_gen1       ).)r   c                2    V P                   ! R/ \        B  R # r|   )rx   forceobj_flagsr~   s   &r   test_gen1_objmode TestGenerators.test_gen1_objmode   r   r   c                    \         p\        \        P                  33/ VB ! V4      pV! ^4      pV! ^4      pV P	                  WE4       R# rq   )r    r   r   rs   rn   rt   s   &,    r   
check_gen2TestGenerators.check_gen2   rz   r   c                2    V P                   ! R/ \        B  R # r|   )r   r}   r~   s   &r   	test_gen2TestGenerators.test_gen2   r   r   c                2    V P                   ! R/ \        B  R # r|   )r   r   r~   s   &r   test_gen2_objmode TestGenerators.test_gen2_objmode   r   r   c                    \         p\        \        P                  33/ VB ! V4      pV! ^4      pV! ^4      pV P	                  WE4       R# rq   )r$   r   r   rs   rn   rt   s   &,    r   
check_gen3TestGenerators.check_gen3   rz   r   c                2    V P                   ! R/ \        B  R # r|   )r   r}   r~   s   &r   	test_gen3TestGenerators.test_gen3   r   r   c                2    V P                   ! R/ \        B  R # r|   )r   r   r~   s   &r   test_gen3_objmode TestGenerators.test_gen3_objmode   r   r   c                    \         p\        \        P                  3^,          3/ VB ! V4      pV! ^^^4      pV! ^^^4      pV P	                  WE4       R# r&   )r)   r   r   rs   rn   rt   s   &,    r   
check_gen4TestGenerators.check_gen4   sN    %++!#.v.v6q!Q!Q{U)r   c                2    V P                   ! R/ \        B  R # r|   )r   r}   r~   s   &r   	test_gen4TestGenerators.test_gen4   r   r   c                2    V P                   ! R/ \        B  R # r|   )r   r   r~   s   &r   test_gen4_objmode TestGenerators.test_gen4_objmode   r   r   c                    V P                  4       ;_uu_ 4       p\        R/ \        B ! \        4       R R R 4       V P	                  R\        XP                  4      4       R #   + '       g   i     L7; i)Nz2Cannot type generator: it does not yield any valuer   )assertTypingErrorr   r}   r-   assertInstr	exception)ri   raisess   & r   	test_gen5TestGenerators.test_gen5   sN    ##%%%n%d+ &J&**+	- &%s   A""A2	c                   \        R/ \        B ! \        4      ! 4       pV P                  \	        V4      . 4       V P                  \        4      ;_uu_ 4        \        V4       R R R 4       R #   + '       g   i     R # ; iNr   )r   r   r-   re   listrg   rh   rf   )ri   rk   s   & r   test_gen5_objmode TestGenerators.test_gen5_objmode   sR    ((.0dR(}--J .---s   A--A>	c                    \        \        P                  3^,          3/ VB ! \        4      pV! ^^4      p. p\	        ^4       F  pVP                  \        V4      4       K  	  V P                  V^.^,          4       R# r@   )r   r   rs   r1   r   appendrf   re   )ri   ru   rw   rk   lr   s   &,    r   
check_gen6TestGenerators.check_gen6   se    %++!#.v.t4!QxqAHHT$Z  RD1H%r   c                2    V P                   ! R/ \        B  R # r|   )r   r}   r~   s   &r   	test_gen6TestGenerators.test_gen6   r   r   c                2    V P                   ! R/ \        B  R # r|   )r   r   r~   s   &r   test_gen6_objmode TestGenerators.test_gen6_objmode   r   r   c                   \         p\        \        P                  ! \        P                  ^R4      33/ VB ! V4      p\
        P                  ! ^^
^4      pV! VP                  4       4      pV! V4      pV P                  WV4       R# )r   CN)	r7   r   r   Arrayfloat64rG   linspacecopyrn   )ri   ru   rv   rw   r6   rj   rk   s   &,     r   
check_gen7TestGenerators.check_gen7   sh    %++emmQ46A&A&Ikk!R#sxxz"#wU)r   c                2    V P                   ! R/ \        B  R # r|   )r   r}   r~   s   &r   	test_gen7TestGenerators.test_gen7   r   r   c                2    V P                   ! R/ \        B  R # r|   )r   r   r~   s   &r   test_gen7_objmode TestGenerators.test_gen7_objmode   r   r   c                   a aa \         o\        R/ VB ! S4      oVVV 3R  lpV! ^^4       V! ^4       V! ^R7       V! ^RR7       R# )c                  D   < SP                  S! V / VB S! V / VB 4       R # r   )rn   )argsru   cfuncrv   ri   s   *,r   check(TestGenerators.check_gen8.<locals>.check   s*      !8!8!&!7!79r   )r   T)r   r0   Nr   )r:   r   )ri   jit_argsr   r   rv   s   f, @@r   
check_gen8TestGenerators.check_gen8   s@    h'	9 	aa
Tr   c                *    V P                  R R7       R# Tr	   Nr   r~   s   &r   	test_gen8TestGenerators.test_gen8       &r   c                *    V P                  R R7       R# )T)r
   Nr   r~   s   &r   test_gen8_objmode TestGenerators.test_gen8_objmode   r   r   c                r    \         p\        R/ VB ! V4      pV! 4       pV! 4       pV P                  WE4       R # r   )rV   r   rn   rt   s   &,    r   
check_gen9TestGenerators.check_gen9  s5    vv&tU)r   c                2    V P                   ! R/ \        B  R # r|   )r   r}   r~   s   &r   	test_gen9TestGenerators.test_gen9	  r   r   c                2    V P                   ! R/ \        B  R # r|   )r   r   r~   s   &r   test_gen9_objmode TestGenerators.test_gen9_objmode  r   r   c                    \        R R7      ! V4      p\        R R7      ! \        V4      4      p\        V4      pV! ^4      pV! ^4      pV P                  We4       R# r   )r   r   assertPreciseEqual)ri   r   rk   r   rv   rl   rm   s   &&     r   check_consume_generator&TestGenerators.check_consume_generator  sO    D!(+T"=#67x(!9Ah.r   c                0    V P                  \        4       R # r   )r   r   r~   s   &r   test_consume_gen1 TestGenerators.test_consume_gen1      $$T*r   c                0    V P                  \        4       R # r   )r   r    r~   s   &r   test_consume_gen2 TestGenerators.test_consume_gen2  r   r   c                0    V P                  \        4       R # r   )r   r$   r~   s   &r   test_consume_gen3 TestGenerators.test_consume_gen3  r   r   c                    \         p\        \        P                  ! \        P                  ^4      33/ VB ! V4      pRpV! V4      pV! V4      pV P                  WV4       R# )rA   NrA   r'   )rK   r   r   UniTupleintprn   )ri   ru   rv   rw   rI   rj   rk   s   &,     r   check_ndindexTestGenerators.check_ndindex"  sR    %..Q/1<V<VDu%yU)r   c                2    V P                   ! R/ \        B  R # r|   )r   r}   r~   s   &r   test_ndindexTestGenerators.test_ndindex*      ,^,r   c                2    V P                   ! R/ \        B  R # r|   )r   r   r~   s   &r   test_ndindex_objmode#TestGenerators.test_ndindex_objmode-  r   r   c                   \        \        P                  ! \        P                  ^R4      33/ VB ! V4      p\        P
                  ! ^\        P                  R7      P                  R4      pV P                  V! V4      V! V4      4       \        \        P                  ! \        P                  ^R4      33/ VB ! V4      pVP                  pV P                  V! V4      V! V4      4       R# )rA   r   dtypeANr   )	r   r   r   rs   rG   arangereshapern   T)ri   rv   ru   rw   r6   crAs   &&,   r   check_np_flatTestGenerators.check_np_flat0  s    %++ekk1c24??Gii*226:VC["S'25;;u{{As35@@HeeVC[#c(3r   c                <    V P                   ! \        3/ \        B  R # r   )r  rP   r}   r~   s   &r   test_np_flatTestGenerators.test_np_flat8      86~6r   c                <    V P                   ! \        3/ \        B  R # r   )r  rP   r   r~   s   &r   test_np_flat_objmode#TestGenerators.test_np_flat_objmode;  r  r   c                <    V P                   ! \        3/ \        B  R # r   )r  rT   r}   r~   s   &r   test_ndenumerateTestGenerators.test_ndenumerate>      ?=n=r   c                <    V P                   ! \        3/ \        B  R # r   )r  rT   r   r~   s   &r   test_ndenumerate_objmode'TestGenerators.test_ndenumerate_objmodeA  r  r   c                    \         pV P                  4       ;_uu_ 4       p\        R/ \        B ! V4       R R R 4       RpV P	                  V\        XP                  4      4       R #   + '       g   i     L9; i)NzACan't unify yield type from the following types: complex128, noner   )rY   r   r   r}   r   r   r   ri   rv   r   msgs   &   r   test_type_unification_error*TestGenerators.test_type_unification_errorD  sV    &##%%%n%f- &c3v//01 &%s   A&&A6	c                0   \         pV P                  4       ;_uu_ 4       p\        R/ \        B ! V4       R R R 4       RpV P	                  V\
        P                  P                  ,          \        XP                  4      4       R #   + '       g   i     LX; i)NzHCan't unify yield type from the following types: complex128, int%s, noner   )
r\   r   r   r}   r   r   r   bitwidthr   r   r  s   &   r   .test_optional_expansion_type_unification_error=TestGenerators.test_optional_expansion_type_unification_errorM  se    8##%%%n%f- &cEJJ///V5E5E1FG &%s   BB	c                    \         p\        V! 4       4      p\        \        V4      ! 4       4      pV P                  W#4       R # r   )r_   r   r   re   ri   rv   rl   rm   s   &   r   test_changing_tuple_type'TestGenerators.test_changing_tuple_typeV  s0    (>4<>"'r   c                    \         p\        V! 4       4      p\        \        V4      ! 4       4      pV P                  W#4       R # r   )ra   r   r   re   r!  s   &   r   test_changing_number_type(TestGenerators.test_changing_number_type]  s0    )>4<>"'r   r   N)1__name__
__module____qualname____firstlineno__rn   rx   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   r   r   r   r   r   r   r   r  r
  r  r  r  r  r  r"  r%  __static_attributes____classdictcell____classdict__s   @r   rc   rc      s     ************-&*****''***/+++
*--477>>2H(( (r   rc   c              #   (   "   V  F  pVx  K	  	  R # 5ir   r   )aryelems   & r   nrt_gen0r2  e  s     
 s   c              #   F   "   \        W4       F  w  r#Vx  Vx  K  	  R # 5ir   )zip)ary1ary2e1e2s   &&  r   nrt_gen1r9  j  s     d/ "s   !c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	TestNrtArrayGenip  c                H   \         p\        R R7      ! V4      p\        P                  ! ^
4      pVP	                  4       p\        V! V4      4      p\        V! V4      4      p\        P                  P                  W44       V P                  WV4       V P                  W44       R# r   )
r2  r   rG   r  r   r   testingassert_equalre   assertRefCountEqual)ri   rj   rk   py_aryc_arypy_resc_ress   &      r   test_nrt_gen0TestNrtArrayGen.test_nrt_gen0q  sx    D!%(2eFm$T%[!


.'  /r   c                   \         p\        R R7      ! V4      p\        P                  ! ^
4      pV^d,           pVP	                  4       pVP	                  4       p\        V! W44      4      p\        V! WV4      4      p\        P                  P                  W54       \        P                  P                  WF4       V P                  Wx4       V P                  W54       V P                  WF4       R# r   )
r9  r   rG   r  r   r   r=  r>  re   r?  )	ri   rj   rk   py_ary1py_ary2c_ary1c_ary2rB  rC  s	   &        r   test_nrt_gen1TestNrtArrayGen.test_nrt_gen1  s    D!%())B-C-eG-.T&)*


0


0'  1  1r   c                F    V P                  4        V P                  4        R# )a
  
Issue #1163 is observed when two generator with NRT object arguments
is ran in sequence.  The first one does a invalid free and corrupts
the NRT memory subsystem.  The second generator is likely to segfault
due to corrupted NRT data structure (an invalid MemInfo).
N)rD  rK  r~   s   &r   test_combine_gen0_gen1&TestNrtArrayGen.test_combine_gen0_gen1  s     	r   c                d   \         p\        RR7      ! V4      p\        P                  ! ^4      pVP	                  4       pV! V4      pV! V4      p\        V4      p\        V4      pV P                  \        4      ;_uu_ 4        \        V4      pRRR4       V P                  \        4      ;_uu_ 4        \        V4      pRRR4       ??\        P                  P                  W44       V P                  Wx4       V P                  W44       R#   + '       g   i     L; i  + '       g   i     Lh; i)z
Test cleanup on StopIteration
Tr   N)r2  r   rG   r  r   rf   rg   rh   r=  r>  re   r?  )	ri   rj   rk   r@  rA  py_iterc_iterrB  rC  s	   &        r   test_nrt_gen0_stop_iteration,TestNrtArrayGen.test_nrt_gen0_stop_iteration  s     D!%(1-egV}--']F . }--LE . 


.'  / .- .-s   D3DD	D/	c                   \         p\        RR7      ! V4      p\        P                  ! ^4      pVP	                  4       pV! V4      pV! V4      p??\        P
                  P                  W44       V P                  W44       R# )zR
Test cleanup for a initialized but never iterated (never call next())
generator.
Tr   N)r2  r   rG   r  r   r=  r>  r?  )ri   rj   rk   r@  rA  rQ  rR  s   &      r   test_nrt_gen0_no_iter%TestNrtArrayGen.test_nrt_gen0_no_iter  sj    
 D!%(1-e


. 	  /r   r   N)r'  r(  r)  r*  rD  rK  rN  rS  rV  r+  r,  r-  s   @r   r;  r;  p  s#     02(0<0 0r   r;  c                   P   a  ] tR tRt o R t]P                  R 4       tR tRt	V t
R# )TestNrtNestedGeni  c                   R  pR p\         P                  ! ^
4      pVP                  4       pV! V4      ! V4      w  rV\        RR7      ! V! \        RR7      ! V4      4      4      pV! V4      w  rV P	                  W44       V P                  Wc4       V P                  W4       \         P                  P                  WX4       V P                  WX4       R# )c              3   N   "   \        V P                  4       F  pV x  K	  	  R # 5ir   r3   r5   s   & r   gen02TestNrtNestedGen.test_nrt_nested_gen.<locals>.gen0  s     388_	 %r*   c                    a  V 3R  lpV# )c                 d   < \         P                  ! V 4      pS! V 4       F  pW,           pK  	  W3# r   )rG   
zeros_like)r6   outr   r\  s   &  r   r   CTestNrtNestedGen.test_nrt_nested_gen.<locals>.factory.<locals>.gen1  s-    mmC(cA'C #xr   r   r\  r   s   f r   factory5TestNrtNestedGen.test_nrt_nested_gen.<locals>.factory  s      Kr   Tr   N)	rG   r  r   r   assertIsNotassertIsr=  r>  r?  )
ri   r\  rd  py_arrc_arrrB  py_oldc_genrC  c_olds
   &         r   test_nrt_nested_gen$TestNrtNestedGen.test_nrt_nested_gen  s    		 2 v.T"73+=d+C#DEU|'f%e#


.  /r   c                b   R  pR p\         P                  ! ^
4      pVP                  4       pV! V4      ! V4      p\        RR7      ! V! \        RR7      ! V4      4      4      pV! V4      pV P	                  W44       V P                  WS4       V P                  Wt4       V P                  WW4       R# )c              3      "   V x  R # 5ir   r   )r6   s   &r   r\  8TestNrtNestedGen.test_nrt_nested_gen_refct.<locals>.gen0  s
     IrW   c                    a  V 3R  lpV# )c                 *   < S! V 4       F  pVu # 	  R # r   r   )r6   ra  r\  s   & r   r   ITestNrtNestedGen.test_nrt_nested_gen_refct.<locals>.factory.<locals>.gen1  s    9CJ %r   r   rc  s   f r   rd  ;TestNrtNestedGen.test_nrt_nested_gen_refct.<locals>.factory  s     Kr   Tr   N)rG   r  r   r   rf  rg  r?  )ri   r\  rd  rh  ri  rj  rk  rl  s   &       r   test_nrt_nested_gen_refct*TestNrtNestedGen.test_nrt_nested_gen_refct  s    		 2v&T"73+=d+C#DEe'f%e#  /r   c                    R 3R lpV! 4       pV! \        RR7      4      p\        V! ^
4      4      p\        V! ^
4      4      pV P                  WE4       R# )z
Test nesting three generators
c                     V # r   r   r#   s   &r   <lambda>?TestNrtNestedGen.test_nrt_nested_nopython_gen.<locals>.<lambda>  s    Ar   c                 F   aa V R  4       oV V3R l4       oV V3R l4       pV# )c              3   n   "   \        V4       F!  pW,          x  W;;,          V,          uu&   K#  	  R # 5ir   r   )r/   nr   s   && r   fooKTestNrtNestedGen.test_nrt_nested_nopython_gen.<locals>.factory.<locals>.foo  s%     qA$JDAID "s   35c              3      <"   \         P                  ! V 4      pS! W4       F  pV^,          x  K  	  \        VP                  4       F  pW,          x  K  	  R# 5ir@   )rG   r  r   r4   )r~  r/   r   r  s   &  r   barKTestNrtNestedGen.test_nrt_nested_nopython_gen.<locals>.factory.<locals>.bar  sC     IIaLQAa%K #qvvA$J 's   AAc              3   B   <"   S! V 4       F  pW,           x  K  	  R # 5ir   r   )r~  r   r  s   & r   catKTestNrtNestedGen.test_nrt_nested_nopython_gen.<locals>.factory.<locals>.cat$  s     QA%K  s   r   )decorr  r  r  s   & @@r   rd  >TestNrtNestedGen.test_nrt_nested_nopython_gen.<locals>.factory  sD     
       Jr   Tr   N)r   r   re   )ri   rd  py_genrk  rB  rC  s   &     r   test_nrt_nested_nopython_gen-TestNrtNestedGen.test_nrt_nested_nopython_gen  sM    
 & 	, T*+fRj!U2Y'r   r   N)r'  r(  r)  r*  rm  unittestexpectedFailurerv  r  r+  r,  r-  s   @r   rY  rY    s/     0F 0 0.!( !(r   rY  c                   2   a  ] tR tRt o R tR tR tRtV tR# )TestGeneratorWithNRTi4  c                   \        RR7      R 4       p\        V! ^4      4      pV P                  \        V4      ^4       \        P
                  ! ^4      p^VR&   V F"  p\        P                  P                  W44       K$  	  R# )z)
Missing environment for returning array
Tr   c              3   p   "   \        V 4       F"  p\        P                  ! ^4      p^VR&   Vx  K$  	  R# 5i)r'   NNNN)r   rG   empty)r~  r   vecs   &  r   random_directions?TestGeneratorWithNRT.test_issue_1254.<locals>.random_directions:  s.     1XhhqkA	 s   46r  N)r   r   re   lenrG   r  r=  r>  )ri   r  outputsexpectrm   s   &    r   test_issue_1254$TestGeneratorWithNRT.test_issue_12545  ss    
 
d		 
	 (+,Wq)!q	CJJ##F0 r   c                D  aa R o\        RR7      ! S4      o\        S! R^^d4      4      p\        S! R^^d4      4      pV P                  W4       V3R lp\        RR7      V3R l4       p^pRRV3pV! V4      pV! V4      p\        P                  P                  W4       R# )	z=
Double-free for locally allocated, non escaping NRT objects
c              3   h   "   \         P                  ! WV4      pV^ ,          x  V^,          x  R# 5ir,   )rG   r   )rminrmaxnrr/   s   &&& r   r  4TestGeneratorWithNRT.test_issue_1265.<locals>.py_genN  s'     D+AA$JA$Js   02Tr   c                    < V w  rp\         P                  ! V\         P                  R 7      p\        S! WV4      4       F	  w  rVWdV&   K  	  V# r   rG   r  
complex128	enumerate)r   r  r  r  pointsr   cr  s   &      r   	py_driver7TestGeneratorWithNRT.test_issue_1265.<locals>.py_driverZ  sF    !NDXXb6F!&R"89q	 : Mr   c                    < V w  rp\         P                  ! V\         P                  R 7      p\        S! WV4      4       F	  w  rVWdV&   K  	  V# r  r  )r   r  r  r  r  r   r  rk  s   &      r   c_driver6TestGeneratorWithNRT.test_issue_1265.<locals>.c_driverb  sF    !NDXXb6F!%B"78q	 9 Mr   N)r   r   re   rG   r=  r>  )	ri   rB  rC  r  r  r~  patchesrk  r  s	   &      @@r   test_issue_1265$TestGeneratorWithNRT.test_issue_1265I  s    
	
 T"6*fRC()U2q#&''	 
d		 
	 r1+7#!


.r   c                   aaa Ro\         V3R l4       o\         V3R l4       o\         V3R l4       pV P                  V! 4       S4       R# )z
Incorrect return data model
l   >[= c               3      <"   S x  R # 5ir   r   )magics   r   	generator7TestGeneratorWithNRT.test_issue_1808.<locals>.generatorz  s     Ks   
c                     < S ! 4       # r   r   )r  s   r   get_generator;TestGeneratorWithNRT.test_issue_1808.<locals>.get_generator~  s    ;r   c                  8   < ^ p S! 4        F  pW,          p K  	  V # )r   r   )ra  r   r  s     r   main2TestGeneratorWithNRT.test_issue_1808.<locals>.main  s"    C"_ % Jr   N)r   re   )ri   r  r  r  r  s   & @@@r   test_issue_1808$TestGeneratorWithNRT.test_issue_1808t  sX     		 
	 
	 
	 
	 
	 	'r   r   N)	r'  r(  r)  r*  r  r  r  r+  r,  r-  s   @r   r  r  4  s     1()/V( (r   r  c                       ] tR tRt]P
                  ! R]P                  ]P                  ]P                  .]P                  ]P                  R,          .RR7      t
RtR# )TestGeneratorModeli  N:NNr   F)r   
yield_type	arg_typesstate_typeshas_finalizerr   )r'  r(  r)  r*  r   	Generatorrs   int64float32r   fe_typer+  r   r   r   r  r    s?    oot).emm(D+0::uzz#*G,13Gr   r  __main__)r   rA   F)+numpyrG   r  numbar   r   
numba.corer   numba.tests.supportr   r   numba.core.datamodel.testingr   r   r}   r   r   r    r$   r)   r-   r1   r7   r:   r=   rE   rK   rP   rT   rV   rY   r\   r_   ra   rc   r2  r9  r;  rY  r  r  r'  r  r   r   r   <module>r     s        9 5eZ6d#





Z(_h Z(z
`0ox `0H](x ](@V(?H V(r3 3 zMMO r   