
    sh_                         S r SSKrSSKrSSKrSSKJr  SSKJr  SSK	J
r
Jr   " S S\\
5      r\S:X  a  \R                  " 5         gg)	z<
Tests issues or edge cases for producing invalid NRT refct
    N)njit)rtsys)TestCaseEnableNRTStatsMixinc                   @   ^  \ rS rSrU 4S jrS rS rS rS rSr	U =r
$ )TestNrtRefCt   c                 T   > [         R                  " 5         [        [        U ]  5         g )N)gccollectsuperr   setUp)self	__class__s    n/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/tests/test_nrt_refct.pyr   TestNrtRefCt.setUp   s    


lD')    c                 (   [         S 5       nSn[        R                  " 5       nU" U5        [        R                  " 5       nU R                  UR                  UR                  -
  U5        U R                  UR
                  UR
                  -
  U5        g)z
Test issue #1291
c                 T    [        U 5       H  n[        R                  " S5      nM     gN   r   )rangenpzeros)nitemps      r   foo(TestNrtRefCt.test_no_return.<locals>.foo   s     1Xxx{ r   
   Nr   r   get_allocation_statsassertEqualallocfree)r   r   r   
init_stats	cur_statss        r   test_no_returnTestNrtRefCt.test_no_return   s|    
 
	 
	
 //1
A..0	:+;+;;Q?*//91=r   c                 $   [         S 5       n[        R                  " 5       nU" S5        [        R                  " 5       nU R                  UR                  UR                  -
  S5        U R                  UR
                  UR
                  -
  S5        g)z
Test issue #1297
c                     [         R                  " U S45      n[        U 5       H  nX   nM	     [        U 5       H  nX   nM	     gr   )r   r   r   )r   xr   ys       r   g6TestNrtRefCt.test_escaping_var_init_in_loop.<locals>.g.   sG     !Q A1XD  1XD  r   r       Nr!   )r   r.   r&   r'   s       r   test_escaping_var_init_in_loop+TestNrtRefCt.test_escaping_var_init_in_loop)   sw    
 

	 

	 //1
	"..0	:+;+;;Q?*//91=r   c                 @   [         S 5       n[        R                  R                  S5      n[        R                  " 5       nU" US5        [        R                  " 5       nU R                  UR                  UR                  -
  UR                  UR                  -
  5        g)z
Test issue #1573
c                     [         R                  " U 5      n[        UR                  S   5       H  nM     U(       a  [         R                  " U 5        U$ )Nr   )r   
zeros_liker   shape)arr1test1tmp_arrr   s       r   %if_with_allocation_and_initialization`TestNrtRefCt.test_invalid_computation_of_lifetime.<locals>.if_with_allocation_and_initializationE   sA    mmD)G7==+, - d#Nr   )   r<   FN)r   r   randomr   r"   r#   r$   r%   )r   r:   arrr&   r'   s        r   $test_invalid_computation_of_lifetime1TestNrtRefCt.test_invalid_computation_of_lifetimeA   s     
		 
		 iiv&//1
-c59..0	:+;+;;"*//9	;r   c                 ,   [         S 5       n[        R                  " S5      n[        R                  " 5       nU" U5        [        R                  " 5       nU R                  UR                  UR                  -
  UR                  UR                  -
  5        g)z
Test issue #1734
c                 F    SnS H  nX   nX2   S:  d  M  XU   -  nM     U$ )Nr   )r   r0   r0    )r>   resr   ts       r   f5TestNrtRefCt.test_del_at_beginning_of_loop.<locals>.f]   s5    C F4!8Q4KC  Jr   )r   r   N)r   r   onesr   r"   r#   r$   r%   )r   rF   r>   r&   r'   s        r   test_del_at_beginning_of_loop*TestNrtRefCt.test_del_at_beginning_of_loopY   sw     

	 

	 ggfo//1
	#..0	:+;+;;"*//9	;r   rC   )__name__
__module____qualname____firstlineno__r   r(   r1   r?   rI   __static_attributes____classcell__)r   s   @r   r   r      s!    *
>$>0;0; ;r   r   __main__)__doc__r   numpyr   unittestnumbar   numba.core.runtimer   numba.tests.supportr   r   r   rK   mainrC   r   r   <module>rY      sH   
 
    $ =_;& _;D zMMO r   