
    sh(                     p   S SK r S SKrS SKrS SKrS SKJrJr  S SKJ	r	J
r
Jr  S SKJrJr  S SKJr  S SKJr  S SKJr  S SKJrJr  S S	KJrJrJrJr  S S
KJr  S SKJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(  S SK)J*r*  S SK+J,r,  S SK-r-S r.S r/S r0S r1S r2S r3S r4S r5S r6S r7S r8S r9\:" 5       r;S r<\Rz                  r> " S S\ 5      r? " S S\ 5      r@ " S S \@5      rA " S! S"\@5      rBS# rCS$ rD " S% S&\\ 5      rES' rFS( rG " S) S*\\ 5      rH " S+ S,\@5      rI " S- S.\ 5      rJ\KS/:X  a  \-R                  " 5         gg)0    N)find_setupwithswith_lifting)bypass_contextcall_contextobjmode_context)FunctionIdentityByteCode)Interpreter)errors)
cpu_target)
compile_irDEFAULT_FLAGS)njittypeofobjmodetypes)overload)

MemoryLeakTestCasecaptured_stdoutskip_unless_scipy
linux_onlystrace_supportedstraceexpected_failure_py311expected_failure_py312expected_failure_py313)	PYVERSION)jitclassc                 |    [         R                  " U 5      n[        US9n[        U5      nUR	                  U5      nU$ )N)func_id)r   from_functionr	   r
   	interpret)funcr!   bcinterpfunc_irs        p/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/tests/test_withlifting.pyget_func_irr)      s;    ,,T2G	'	"B!Fr"GN    c                      [        S5        [           [        S5        [        5         S S S 5        [        S5        g ! , (       d  f       N= f)NABCprintr   b r*   r(   lift1r3   "   s.    	#J	c
	 
 
#J 
s	   <
A
c                  <   Sn [        SU 5        Sn [           [        SU 5        U S-  n [        5         S S S 5        U S-  n [           [        SU 5        [        5         U S-  n S S S 5        U S-  n [        SU 5        g ! , (       d  f       NO= f! , (       d  f       N1= f)N   r,   r-   d   r.   
   Dr/   xs    r(   lift2r;   *   s    	A	#qM	A	c1	S	 
 FA	c1		R 
 FA	#qM 

 
s   A<B<
B

Bc                  8   Sn Sn[        SX5        [           [        S5        [        5         U S-  n [           [        S5        US-  n[        5         S S S 5        S S S 5        U S-  n US-  n[        SX5        g ! , (       d  f       N-= f! , (       d  f       N6= f)Nr5   r6   r,   r-   r.   i r8   r/   r:   ys     r(   lift3r?   ;   s~    	AA	#q	c
		S#JKAC 	 
 FAFA	#q ^	 
s"   !BA:B:
B	B
Bc                     Sn [        SU 5        U S-  n [           [        S5        [        5         U S-  n [        S5       H+  n[           [        S5        [        5         X-  n S S S 5        M-     S S S 5        [           [        S5        [        5         U (       a  U S-  n S S S 5        U S-  n [        SU 5        g ! , (       d  f       M  = f! , (       d  f       Nb= f! , (       d  f       NC= f)	Nr   r,   r7   r-   r5   r.   r8   E)r0   r   r1   ranger:   is     r(   lift4rE   L   s    	A	#qMGA	c
		QrAc
   	 
 
c
	GA	 

 FA	#qM   
 
s/   /C	B9#C="C9
CC
C
C*c                      [        S5        g )Nr,   r0   r2   r*   r(   lift5rH   b   s	    	#Jr*   c                      Sn [        SU 5        [           U S-  n S S S 5        [        SU 5        U $ ! , (       d  f       N= f)Nr5   r,   r-   r0   r   r9   s    r(   	liftcall1rK   f   s7    	A	#qM		Q 
	#qMH 
s   1
?c                      Sn [        SU 5        [           U S-  n S S S 5        [        SU 5        [           U S-  n S S S 5        [        SU 5        U $ ! , (       d  f       N<= f! , (       d  f       N-= f)Nr5   r,   r-   r7   r.   rJ   r9   s    r(   	liftcall2rM   o   sY    	A	#qM		Q 
	#qM		R 
	#qMH 
 
s   AA"
A"
A0c                     Sn [        SU 5        [           U S:  a  U S-  n S S S 5        [        SU 5        [           [        S5       H  nX-  n M	     S S S 5        [        SU 5        U $ ! , (       d  f       NM= f! , (       d  f       N-= f)Nr5   r,   r   r-   r7   r.   )r0   r   rB   rC   s     r(   	liftcall3rO   {   sp    	A	#qM	q5FA 
 
#qM	rAFA  
 
#qMH 
 
s   A(A9(
A69
Bc                      [            [             S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = fN)r   r2   r*   r(   	liftcall4rR      s%    	  
\ 
s   2!2
/	2
A c                      [        S5       H;  n [           [        U 5        U S:X  a  [        S5         S S S 5          U $  S S S 5        M=     W $ ! , (       d  f       MP  = f)Nr7      r,   )rB   r   r0   )rD   s    r(   	liftcall5rU      sT    2Y!HAvc
	 \
 H  \  H \s   A
A	c                  F    [             S S S 5        g ! , (       d  f       g = frQ   )undefined_global_varr2   r*   r(   lift_undefiendrX          	 
		   
 c                  F    [             S S S 5        g ! , (       d  f       g = frQ   )bogus_contextmanagerr2   r*   r(   lift_invalidr]      rY   rZ   c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TestWithFinding   c                 j    [        U5      n[        [        U5      S   5      nU R                  XB5        g Nr   )r)   lenr   assertEqual)selfr$   expect_countthe_ircts        r(   check_num_of_with!TestWithFinding.check_num_of_with   s.    T"(+,*r*   c                 ,    U R                  [        SS9  g Nr5   rf   )ri   r3   re   s    r(   
test_lift1TestWithFinding.test_lift1       u15r*   c                 ,    U R                  [        SS9  g N   rm   )ri   r;   rn   s    r(   
test_lift2TestWithFinding.test_lift2   rq   r*   c                 ,    U R                  [        SS9  g rl   )ri   r?   rn   s    r(   
test_lift3TestWithFinding.test_lift3   rq   r*   c                 ,    U R                  [        SS9  g rs   )ri   rE   rn   s    r(   
test_lift4TestWithFinding.test_lift4   rq   r*   c                 ,    U R                  [        SS9  g )Nr   rm   )ri   rH   rn   s    r(   
test_lift5TestWithFinding.test_lift5   rq   r*   r2   N)__name__
__module____qualname____firstlineno__ri   ro   ru   rx   r{   r~   __static_attributes__r2   r*   r(   r_   r_      s     +
66666r*   r_   c                   8   ^  \ rS rSrU 4S jrS rSS jrSrU =r$ )BaseTestWithLifting   c                    > [         [        U ]  5         [        R                  U l        [        R                  U l        [        U l	        g rQ   )
superr   setUpr   typing_context	typingctxtarget_context	targetctxr   flags)re   	__class__s    r(   r   BaseTestWithLifting.setUp   s2    !4.0#22#22"
r*   c                 r   [        U5      n[        X@R                  U R                  U R                  0 S9u  pVU R                  [        U5      U5        U R                  U5      n[        5        nUR                  5         S S S 5        U R                  WR                  5       U5        g ! , (       d  f       N/= fNlocals)r)   r   r   r   r   rd   rc   r   r   entry_pointgetvalue)	re   r$   rf   expected_stdoutrg   new_ir	extractedcresouts	            r(   check_extracted_with(BaseTestWithLifting.check_extracted_with   s    T"(NNDNNDJJ
 	Y6v&#  	9 s   .B((
B6c           
      b    U R                   nU R                  nU R                  n[        XEXX60 S9$ r   )r   r   r   r   )re   rg   argsreturn_typer   r   r   s          r(   r   BaseTestWithLifting.compile_ir   s3    NN	NN	

)'r; 	;r*   )r   r   r   )r2   N)	r   r   r   r   r   r   r   r   __classcell__)r   s   @r(   r   r      s    #:; ;r*   r   c                   2    \ rS rSrS rS rS rS rS rSr	g)	TestLiftByPass   c                 .    U R                  [        SSS9  g )Nr5   zA
C
rf   r   )r   r3   rn   s    r(   ro   TestLiftByPass.test_lift1   s    !!%a2: 	" 	<r*   c                 .    U R                  [        SSS9  g )Nrt   zA 1
D 3
r   )r   r;   rn   s    r(   ru   TestLiftByPass.test_lift2   s    !!%a2> 	" 	@r*   c                 .    U R                  [        SSS9  g )Nr5   zA 1 100
D 2 101
r   )r   r?   rn   s    r(   rx   TestLiftByPass.test_lift3   s    !!%a2F 	" 	Hr*   c                 .    U R                  [        SSS9  g )Nrt   z	A 0
E 11
r   )r   rE   rn   s    r(   r{   TestLiftByPass.test_lift4   s    !!%a2? 	" 	Ar*   c                 .    U R                  [        SSS9  g )Nr   zA
r   )r   rH   rn   s    r(   r~   TestLiftByPass.test_lift5   s    !!%a27 	" 	9r*   r2   N)
r   r   r   r   ro   ru   rx   r{   r~   r   r2   r*   r(   r   r      s    <@HA9r*   r   c                   V    \ rS rSrS rS rS rS rS r\	\
\S 5       5       5       rSrg	)
TestLiftCall   c                 "   [        U5      n[        5        nU" 5         SSS5        [        5        nU" 5         SSS5        U R                  WR                  5       WR                  5       5        g! , (       d  f       NW= f! , (       d  f       NN= f)z2Ensure same semantic with non-jitted code
        N)r   r   rd   r   )re   r$   jittedgotexpects        r(   check_same_semantic TestLiftCall.check_same_semantic   sd     d#H  &F  	):;  s   A/B /
A= 
Bc                 X    U R                  [        SSS9  U R                  [        5        g )Nr5   zA 1
B 2
r   )r   rK   r   rn   s    r(   test_liftcall1TestLiftCall.test_liftcall1  s+    !!)!2> 	" 	@  +r*   c                 X    U R                  [        SSS9  U R                  [        5        g )Nrt   zA 1
B 2
C 12
r   )r   rM   r   rn   s    r(   test_liftcall2TestLiftCall.test_liftcall2  +    !!)!2D 	" 	F  +r*   c                 X    U R                  [        SSS9  U R                  [        5        g )Nrt   zA 1
B 2
C 47
r   )r   rO   r   rn   s    r(   test_liftcall3TestLiftCall.test_liftcall3  r   r*   c                 L   [         R                  [         R                  [         R                  [         R                  4nU R                  U5       n[        [        5      " 5         S S S 5        SnU R                  U[        WR                  5      5        g ! , (       d  f       N6= f)Nz2compiler re-entrant to the same function signature)r   TypingErrorNumbaRuntimeErrorNumbaValueErrorCompilerErrorassertRaisesr   rR   assertInstr	exception)re   acceptraisesmsgs       r(   test_liftcall4TestLiftCall.test_liftcall4  su    $$f&>&>((&*>*>@v&&O ' Dc3v//01 '&s   B
B#c                 X    U R                  [        SSS9  U R                  [        5        g )Nr5   z0
1
2
3
4
5
A
r   )r   rU   r   rn   s    r(   test_liftcall5TestLiftCall.test_liftcall5  s-     	!!)!2I 	" 	K  +r*   r2   N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r2   r*   r(   r   r      s?    
<,
,
,
2 ,   ,r*   r   c                    ^  U 4S jnU$ )Nc                    > U R                  [        R                  5       nT" U /UQ70 UD6  S S S 5        U R                  S[	        WR
                  5      5        g ! , (       d  f       N4= f)NzDoes not support list typer   r   r   r   r   r   re   r   kwargsr   fns       r(   core+expected_failure_for_list_arg.<locals>.core$  sV    v112ft%d%f% 32&**+	- 32   A
A*r2   r   r   s   ` r(   expected_failure_for_list_argr   #      -
 Kr*   c                    ^  U 4S jnU$ )Nc                    > U R                  [        R                  5       nT" U /UQ70 UD6  S S S 5        U R                  S[	        WR
                  5      5        g ! , (       d  f       N4= f)NzDoes not support function typer   r   s       r(   r   /expected_failure_for_function_arg.<locals>.core-  sV    v112ft%d%f% 36&**+	- 32r   r2   r   s   ` r(   !expected_failure_for_function_argr   ,  r   r*   c                      \ rS rSrS rS rS rS rS rS r	S r
S	 r\S
 5       rS r\S 5       rS r\S 5       rS rS rS rS rS rS r\S 5       rS rS rS rS r\R<                  S 5       r\ S 5       r!S r"\#S 5       r$\%\&\'S 5       5       5       r(\R<                  S 5       r)S  r*S! r+S" r,S# r-S$ r.S% r/S& r0S' r1S( r2S) r3S* r4S+ r5S, r6\7S- 5       r8S. r9S/ r:S0 r;S1 r<S2 r=S3r>g4)5TestLiftObji5  c                 N    [         R                  " S[        R                  5        g Nerrorwarningssimplefilterr   NumbaWarningrn   s    r(   r   TestLiftObj.setUp7      gv':':;r*   c                 .    [         R                  " 5         g rQ   r   resetwarningsrn   s    r(   tearDownTestLiftObj.tearDown:       r*   c                    [         R                  " U5      n[         R                  " U5      n[        U5      n[        5        nU" U6 nUR	                  5       nS S S 5        UR                  [        [        [        U5      5      5        [        5        nU" U6 n	UR	                  5       n
S S S 5        U R                  WW
5        U R                  WW	5        g ! , (       d  f       N= f! , (       d  f       ND= frQ   )copydeepcopyr   r   r   compiletuplemapr   rd   assertPreciseEqual)re   pyfuncr   py_argsc_argscfuncstream
expect_res
expect_outgot_resgot_outs              r(   assert_equal_return_and_stdout*TestLiftObj.assert_equal_return_and_stdout=  s    --%t$V&)J*J 
 	eC/01&VnGoo'G  	W-
G4  s   CC&
C#&
C4c                 l   ^ S mU4S jnU4S jnU R                  US5        U R                  US5        g )Nc                 &    [        SSU S-  05        g )Nzival =ivalrt   rG   )r  s    r(   bar0TestLiftObj.test_lift_objmode_basic.<locals>.barP  s    (VTQY/0r*   c                 p   > U S-  n [            T" U 5        S S S 5        U S-   $ ! , (       d  f       U S-   $ = fNr5   r   r  r  s    r(   foo0TestLiftObj.test_lift_objmode_basic.<locals>.fooS  s5    AID D	 !!8O !!8Os   	#
5c                    > U S-  n [         R                     T" U 5        S S S 5        U S-   $ ! , (       d  f       U S-   $ = fr  numbar   r  s    r(   foo_nonglobal:TestLiftObj.test_lift_objmode_basic.<locals>.foo_nonglobalY  s9    AIDD	 !8O !8Os   	-
?{   r  )re   r  r  r  s      @r(   test_lift_objmode_basic#TestLiftObj.test_lift_objmode_basicO  s4    	1		 	++C5++M3?r*   c                 >   ^ S mU4S jnSnU R                  X5        g )Nc                 .    [        SU S-  05        U S-  n g )Narrrt   rG   )r  s    r(   r  3TestLiftObj.test_lift_objmode_array_in.<locals>.barc  s    5#(#$1HCr*   c                    > [         R                  " U 5      R                  [         R                  5      n[           T" U5        S S S 5        US-   $ ! , (       d  f       US-   $ = fr  )nparangeastypeint64r   )nelemr  r  s     r(   r  3TestLiftObj.test_lift_objmode_array_in.<locals>.fooh  sM    ))E"))"((3C C ! 7N ! 7Ns   	A
A#r7   r  )re   r  r&  r  s      @r(   test_lift_objmode_array_in&TestLiftObj.test_lift_objmode_array_inb  s"    	
	 ++C7r*   c                 >   ^ S mU4S jnSnU R                  X5        g )Nc                     [        U 5        g rQ   rG   r>   s    r(   r  <TestLiftObj.test_lift_objmode_define_new_unused.<locals>.bars  s	    !Hr*   c                    > [        5          SU -   n[        R                  " U5      nT" U5        S S S 5        U $ ! , (       d  f       U $ = fNrt   )r   r"  r#  )r:   r>   ar  s      r(   r  <TestLiftObj.test_lift_objmode_define_new_unused.<locals>.foov  sB     "EIIaLA # H	 #" Hs	   $:
A	r  r  )re   r  argr  s      @r(   #test_lift_objmode_define_new_unused/TestLiftObj.test_lift_objmode_define_new_unusedr  s"    		 ++C5r*   c                 l   ^ S mU4S jnU4S jnSnU R                  X5        U R                  X#5        g )Nc                 "    [        U 5        SU -  $ r  rG   r9   s    r(   inverse<TestLiftObj.test_lift_objmode_return_simple.<locals>.inverse      !Hq5Lr*   c                 f   > [        SS9   T" U 5      nS S S 5        X4$ ! , (       d  f       U W4$ = fNfloat64r,  r  r:   r>   r7  s     r(   r  8TestLiftObj.test_lift_objmode_return_simple.<locals>.foo  s2     9-AJ .4K .-a4Ks   	
0c                 |   > [         R                  " SS9   T" U 5      nS S S 5        X4$ ! , (       d  f       U W4$ = fr;  r  r=  s     r(   r  BTestLiftObj.test_lift_objmode_return_simple.<locals>.foo_nonglobal  s6    +AJ ,4K ,+a4Ks   	*
;r  r  )re   r  r  r2  r7  s       @r(   test_lift_objmode_return_simple+TestLiftObj.test_lift_objmode_return_simple  s5    		
	
 ++C5++M?r*   c                    ^ S mU4S jn[         R                  " SS[         R                  S9nU R                  X5        g )Nc                 "    [        U 5        SU -  $ r  rG   r9   s    r(   r7  ;TestLiftObj.test_lift_objmode_return_array.<locals>.inverse  r9  r*   c                    > [        SSS9   T" U 5      n[        US   5      nS S S 5        U WW4$ ! , (       d  f       N= f)N
float64[:]r%  )r>   zr   )r   int)r:   r>   rH  r7  s      r(   r  7TestLiftObj.test_lift_objmode_return_array.<locals>.foo  s>     <7;AJ!I < a7N <;s   0
>r5   r7   dtype)r"  r#  r<  r  )re   r  r2  r7  s      @r(   test_lift_objmode_return_array*TestLiftObj.test_lift_objmode_return_array  s3    		 ii2RZZ0++C5r*   c                 4    S n/ SQnU R                  X5        g )Nc                     [        SS9   [        U 5        SU S'   [        U 5        / SQU -   n[        R                  " U Vs/ s H  nSU-  PM
     sn5      nS S S 5        X4$ s  snf ! , (       d  f       U W4$ = f)NrG  r,     r   r5   rt      r5   )r   r0   r"  asarray)r:   r>   rD   s      r(   r  5TestLiftObj.test_lift_objmode_using_list.<locals>.foo  sr     <0a!aMJJq1q!Aq12 1 4K  2 10 a4Ks   7A'A"
A'"A''
A8rR  r  re   r  r2  s      r(   test_lift_objmode_using_list(TestLiftObj.test_lift_objmode_using_list  s    	 ++C5r*   c                 0    S nSnU R                  X5        g )Nc                    [        U 5       H  n M     U (       a  U S-  n [        SS9   [        U 5        U S-  n [        U 5        [        U 5       H  nX-  n [        U 5        M     S S S 5        U $ ! , (       d  f       U $ = f)Nr5   intpr9   )rB   r   r0   rC   s     r(   r  4TestLiftObj.test_lift_objmode_var_redef.<locals>.foo  sv    1X Q 6*aQaqAFA!H "	 + H +* Hs   =A//
A>r  r  rV  s      r(   test_lift_objmode_var_redef'TestLiftObj.test_lift_objmode_var_redef  s    	 ++C5r*   c                 4    S nU R                  U/ SQS5        g )Nc                     XS'   [        5          [        U 5        S S S 5        [        5          SU-  U S'   [        U 5        S S S 5        U $ ! , (       d  f       N6= f! , (       d  f       U $ = fr/  r   r0   r:   rH  s     r(   r  =TestLiftObj.test_case01_mutate_list_ahead_of_ctx.<locals>.foo  \    aD "a # !"1u!a #
 H #" #"
 H   AA
A
A+rR     r  re   r  s     r(   $test_case01_mutate_list_ahead_of_ctx0TestLiftObj.test_case01_mutate_list_ahead_of_ctx  s    	 	++CB?r*   c                 ^    S n[         R                  " / SQ5      nU R                  XS5        g )Nc                     XS'   [        5          [        U 5        S S S 5        [        5          SU-  U S'   [        U 5        S S S 5        U $ ! , (       d  f       N6= f! , (       d  f       U $ = fr/  ra  rb  s     r(   r  >TestLiftObj.test_case02_mutate_array_ahead_of_ctx.<locals>.foo  rd  re  rR  rf  r"  arrayr  re   r  r:   s      r(   %test_case02_mutate_array_ahead_of_ctx1TestLiftObj.test_case02_mutate_array_ahead_of_ctx  s'    	 HHY++CB7r*   c                 .    S nU R                  US5        g )Nc                     [        SS9   / SQnS S S 5        [        5          SWS'   S S S 5        U$ ! , (       d  f       N(= f! , (       d  f       W$ = fNzList(int64)r,  rR  r7   rt   r  r=   s     r(   r  6TestLiftObj.test_case03_create_and_mutate.<locals>.foo  B     =1 2 "! #H	 21""H   1A
?
Ar5   r  rg  s     r(   test_case03_create_and_mutate)TestLiftObj.test_case03_create_and_mutate  s    	 	++C3r*   c                    S n[         R                  " / SQ5      n[        U5      nU R                  [        R
                  5       nU" U5        S S S 5        U R                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nc                 d    [        SS9   [        U 5        S S S 5        U $ ! , (       d  f       U $ = f)NrG  kra  r9   s    r(   r  =TestLiftObj.test_case04_bogus_variable_type_info.<locals>.foo  s)     <0a 1H 10H    
/rR  z1Invalid type annotation on non-outgoing variables)	r"  rn  r   r   r   r   r   r   r   re   r  r:   cfoor   s        r(   $test_case04_bogus_variable_type_info0TestLiftObj.test_case04_bogus_variable_type_info  sh    	 HHYCyv112fG 3?  !	 32   	A==
Bc                    S n[         R                  " / SQ5      n[        U5      nU R                  [        5       nU" U5      nS S S 5        U R                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nc                 X    [        SS9   U S-   nS S S 5        U$ ! , (       d  f       W$ = f)NrG  rH  y              ?r  rb  s     r(   r  4TestLiftObj.test_case05_bogus_type_info.<locals>.foo  s-     !<0G 1H 10H   
)rR  zXcan't unbox array from PyObject into native value.  The object maybe of a different type)r"  rn  r   r   	TypeErrorr   r   r   )re   r  r:   r  r   r   s         r(   test_case05_bogus_type_info'TestLiftObj.test_case05_bogus_type_info   sf    	 HHYCyy)Vq'C *6  !	
 *)   	A33
Bc                     S nU R                  [        R                  5       n[        U5      " S5        S S S 5        SnU R	                  [        WR                  5      U5        g ! , (       d  f       N6= f)Nc                     [        5          [        5          [        U 5        S S S 5        S S S 5        U $ ! , (       d  f       N= f! , (       d  f       U $ = frQ   ra  r9   s    r(   r  3TestLiftObj.test_case06_double_objmode.<locals>.foo  sA     !"(*a + # H +* #" Hs   A4A
A	A
Ar  z@During: resolving callee type: type\(ObjModeLiftedWith\(<.*>\)\))r   r   r   r   assertRegexr   r   )re   r  r   pats       r(   test_case06_double_objmode&TestLiftObj.test_case06_double_objmode  sZ    	 v112fIcN 34V--.4 32s   A%%
A3c                 D   S n[         R                  " / SQ5      n[        U5      nU R                  [        R
                  5       nU" U5        S S S 5        [        WR                  5      nU R                  SU5        U R                  SU5        g ! , (       d  f       NH= f)Nc                 `    [        5          SU 0nSnS S S 5        U WW4$ ! , (       d  f       N= f)Nr0  rS  r  )r:   tus      r(   r  6TestLiftObj.test_case07_mystery_key_error.<locals>.foo&  s1     "!H # a7N #"s   
-rR  z;Missing type annotation on outgoing variable(s): ['t', 'u']z9Example code: with objmode(t='<add_type_as_string_here>'))	r"  rn  r   r   r   r   r   r   r   )re   r  r:   r  r   exstrs         r(   test_case07_mystery_key_error)TestLiftObj.test_case07_mystery_key_error$  s    	
 HHYCyv112fG 3 F$$% #	 	 8	 32s   	B
Bc                 $  ^ [        5       mU4S jn[        R                  " / SQ5      n[        U5      nU R	                  [
        5       nU" U5        S S S 5        U R                  [        WR                  5      S5        g ! , (       d  f       N4= f)Nc                    > [        [        U 5      5       H8  n[        5          [        U5      nX   nUTU'   [	        TS   5        S S S 5        M:     U $ ! , (       d  f       MM  = f)N2)rB   rc   r   r   r0   )r:   rD   r}  vds       r(   r  8TestLiftObj.test_case08_raise_from_external.<locals>.foo>  sW    3q6]$&AAAAaD!C&M	 '& # H '&s   #A
A#	rR  z'2')	dictr"  rn  r   r   KeyErrorrd   r   r   )re   r  r:   r  r   r  s        @r(   test_case08_raise_from_external+TestLiftObj.test_case08_raise_from_external9  sj     F	 HHYCyx(FG )V--.6 )(s   
	B
Bc                    S n[         R                  " / SQ5      n[        U5      nU R                  [        R
                  5       nU" U5        S S S 5        U R                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nc                 P    [        5          [        5       e! , (       d  f       U $ = frQ   )r   
ValueErrorr9   s    r(   r  3TestLiftObj.test_case09_explicit_raise.<locals>.fooN  s     " l" #"Hs   
%rR  zBunsupported control flow due to raise statements inside with block)	r"  rn  r   r   r   r   r   r   r   r  s        r(   test_case09_explicit_raise&TestLiftObj.test_case09_explicit_raiseM  sj    	
 HHYCyv334G 5  !	
 54r  c                 \    S n[         R                  " / SQ5      nU R                  X5        g )Nc                     [        SS9   / SQnS S S 5        [        5          SWS'   S S S 5        U$ ! , (       d  f       N(= f! , (       d  f       W$ = frt  r  r=   s     r(   r  ;TestLiftObj.test_case10_mutate_across_contexts.<locals>.foo`  rv  rw  rR  rm  ro  s      r(   "test_case10_mutate_across_contexts.TestLiftObj.test_case10_mutate_across_contexts]  s%    	 HHY++C3r*   c                 \    S n[         R                  " / SQ5      nU R                  X5        g )Nc                     [        SS9   [        R                  " / SQSS9nS S S 5        [        5          SWS'   S S S 5        U$ ! , (       d  f       N(= f! , (       d  f       W$ = f)Nint64[:]r,  rR  r%  rK  r7   rt   )r   r"  rT  r=   s     r(   r  ATestLiftObj.test_case10_mutate_array_across_contexts.<locals>.fool  sQ     :.JJy8 / "! # H /."" Hs   AA
A
A$rR  rm  ro  s      r(   (test_case10_mutate_array_across_contexts4TestLiftObj.test_case10_mutate_array_across_contextsj  s%    	 HHY++C3r*   c                    S n[         R                  " / SQ5      n[        U5      nU R                  [        5       nU" U5        S S S 5        U R                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nc                 V    [        5          S nS S S 5        U $ ! , (       d  f       U $ = f)Nc                     U S-   $ r  r2   r,  s    r(   r  LTestLiftObj.test_case11_define_function_in_context.<locals>.foo.<locals>.bar{  s    q5Lr*   r  )r:   r  s     r(   r  ?TestLiftObj.test_case11_define_function_in_context.<locals>.fooy  s)     "! # H #" Hs   
(rR  z global name 'bar' is not defined)r"  rn  r   r   	NameErrorr   r   r   r  s        r(   &test_case11_define_function_in_context2TestLiftObj.test_case11_define_function_in_contextw  sb    	 HHYCyy)VG *.  !	
 *)r  c                 j   ^ S mU4S jn[         R                  " / SQ5      nU R                  X5        g )Nc                     U S-   $ r  r2   r,  s    r(   r  >TestLiftObj.test_case12_njit_inside_a_objmode_ctx.<locals>.bar  s    q5Lr*   c                    > [        SS9   [        T5      " U 5      R                  S5      nS S S 5        X-   $ ! , (       d  f       U W-   $ = f)Nr  r,  r%  )r   r   r$  r:   r>   r  s     r(   r  >TestLiftObj.test_case12_njit_inside_a_objmode_ctx.<locals>.foo  sA     :.IaL''0 /5L /.q5Ls	   !8
A
rR  rm  )re   r  r:   r  s      @r(   %test_case12_njit_inside_a_objmode_ctx1TestLiftObj.test_case12_njit_inside_a_objmode_ctx  s+    		
 HHY++C3r*   c                     S nU" [         R                  " / SQ5      5      n[         R                  R                  [         R                  " / SQ5      U5        g )Nc                 X    [        SS9   U S-  n U sS S S 5        $ ! , (       d  f       g = f)Nr  r9   r5   r  r9   s    r(   r  CTestLiftObj.test_case14_return_direct_from_objmode_ctx.<locals>.foo  s"     :.Q /..s   
)rR  )rt   rS  rQ  )r"  rn  testingassert_array_equal)re   r  results      r(   *test_case14_return_direct_from_objmode_ctx6TestLiftObj.test_case14_return_direct_from_objmode_ctx  s9    	
 RXXi()


%%bhhy&96Br*   c                 \    S n[         R                  " / SQ5      nU R                  X5        g )Nc                 *   ^ SmU4S jnU" U 5      S-   $ )Nr7   c                 l   > [        SS9   [        U 5        U T-   sS S S 5        $ ! , (       d  f       g = f)Nr  r9   ra  )r:   js    r(   r  HTestLiftObj.test_case15_close_over_objmode_ctx.<locals>.foo.<locals>.bar  s%    $z2!Hq5 322s   %
3rt   r2   )r:   r  r  s     @r(   r  ;TestLiftObj.test_case15_close_over_objmode_ctx.<locals>.foo  s    A! q6A:r*   rR  rm  ro  s      r(   "test_case15_close_over_objmode_ctx.TestLiftObj.test_case15_close_over_objmode_ctx  s%    	 HHY++C3r*   c                 p   ^ SSK Jm  U4S jn[        R                  " / SQ5      nU R	                  X5        g )Nr   )sparsec                    > [        SS9   [        U 5        TR                  U 5      n[        R                  " US   5      nS S S 5        U$ ! , (       d  f       W$ = f)Nr%  r|  )r   r   )r   r0   
csr_matrixr"  r%  )r:   spxr}  sps      r(   r  >TestLiftObj.test_case16_scipy_call_in_objmode_ctx.<locals>.foo  sP     7+ammA& HHSY' , H ,+ Hs   6A
ArR  )scipyr  r"  rn  r  )re   r  r:   r  s      @r(   %test_case16_scipy_call_in_objmode_ctx1TestLiftObj.test_case16_scipy_call_in_objmode_ctx  s)    &	 HHY++C3r*   c                 r   ^^ SS K mUU4S jm[        R                  " / SQ5      nU R                  TU5        g )Nr   c                 p   > [        5          TR                  T5        S S S 5        g ! , (       d  f       g = frQ   )r   dis)r:   r  r  s    r(   r  7TestLiftObj.test_case17_print_own_bytecode.<locals>.foo  s      " #""s   '
5rR  )r  r"  rn  r  )re   r:   r  r  s     @@r(   test_case17_print_own_bytecode*TestLiftObj.test_case17_print_own_bytecode  s+    	 HHY++C3r*   c                 v    S n[         R                  " / SQ5      n[        S 5      nU R                  XU5        g )Nc                 b    [        5          U " US   5        S S S 5        g ! , (       d  f       g = frb   r  )r$   r:   s     r(   r  CTestLiftObj.test_case18_njitfunc_passed_to_objmode_ctx.<locals>.foo  s     "QqT
 #""s    
.rR  c                     U S-   $ )NrT   r2   r  s    r(   <lambda>HTestLiftObj.test_case18_njitfunc_passed_to_objmode_ctx.<locals>.<lambda>  s    AEr*   )r"  rn  r   r  )re   r  r:   r   s       r(   *test_case18_njitfunc_passed_to_objmode_ctx6TestLiftObj.test_case18_njitfunc_passed_to_objmode_ctx  s1    	 HHY/"++CQ7r*   c                 D  ^ U4S jmU R                  [        R                  [        R                  45       n[	        T5      nU" [
        R                  " / SQ5      5        S S S 5        SnU R                  U[        WR                  5      5        g ! , (       d  f       N6= f)Nc                    > [        5          U S:X  a
   S S S 5        g S S S 5        T" U S-
  5      nU$ ! , (       d  f       N= f)Nr      r5   r  )r:   retr  s     r(   r  .TestLiftObj.test_case19_recursion.<locals>.foo  s@     "6 #" # a!e*CJ	 #"s	   3
ArR  zUntyped global name 'foo')
r   r   r   r   r   r"  rn  r   r   r   )re   r   r  r   r  s       @r(   test_case19_recursion!TestLiftObj.test_case19_recursion  su    	  2 2F4H4HIJf9D)$% K *c3v//01	 KJs   *B
Bc                 \    S n[         R                  " / SQ5      nU R                  X5        g )Nc                    [         R                  R                  S5        [         R                  R                  5       n[	        SS9   [         R                  R                  5       nS S S 5        U W-   U-   $ ! , (       d  f       N= fNr   r<  r  r"  randomseedrandr   r:   r>   rH  s      r(   r  1TestLiftObj.test_case20_rng_works_ok.<locals>.foo  sX    IINN1		 A 9-IINN$ . q519 .-s   A66
BrR  rm  ro  s      r(   test_case20_rng_works_ok$TestLiftObj.test_case20_rng_works_ok  s%    	 HHY++C3r*   c                 \    S n[         R                  " / SQ5      nU R                  X5        g )Nc                 L   [         R                  R                  S5        [         R                  R                  5       n[	        SS9   [         R                  R                  S5        [         R                  R                  5       nS S S 5        U W-   U-   $ ! , (       d  f       N= fr  r  r  s      r(   r  6TestLiftObj.test_case21_rng_seed_works_ok.<locals>.foo  sh    IINN1		 A 9-		q!IINN$ . q519	 .-s   >B
B#rR  rm  ro  s      r(   test_case21_rng_seed_works_ok)TestLiftObj.test_case21_rng_seed_works_ok  s%    	 HHY++C3r*   c                    ^ S m[         U4S j5       nU R                  U" 5       UR                  5       5        U R                  [        [
        5        g )Nc                 n    [         R                  " [        [        U R	                  5       5      5      5      $ rQ   )r"  rT  listreversedtolistr9   s    r(   r  'TestLiftObj.test_example01.<locals>.bar  s!    ::d8AHHJ#7899r*   c                     > [         R                  " S5      n [        SS9   U T" U 5      -   nS S S 5        U$ ! , (       d  f       W$ = f)NrT   zintp[:]r,  )r"  r#  r   r  s     r(   r  'TestLiftObj.test_example01.<locals>.foo  sA    		!A9%AJ & H &% Hs	   7
A)r   r   py_funcassertIsr   r   )re   r  r  s     @r(   test_example01TestLiftObj.test_example01  sD    	: 
	 
	 	s{{}5g/r*   c                    ^ S m[        T5      S 5       n[        R                  U4S j5       nU R                  U" 5       S5        g )Nc                     g rQ   r2   )ss    r(   r  1TestLiftObj.test_objmode_in_overload.<locals>.foo      r*   c                     S nU$ )Nc                 X    [        SS9   U S-   nS S S 5        U$ ! , (       d  f       W$ = f)Nr[  r   rS  r   )r  r   s     r(   implHTestLiftObj.test_objmode_in_overload.<locals>.foo_overload.<locals>.impl  s+    (a%C )
 )(
r  r2   )r  r  s     r(   foo_overload:TestLiftObj.test_objmode_in_overload.<locals>.foo_overload  s     Kr*   c                     > T " S5      $ r  r2   r  s   r(   f/TestLiftObj.test_objmode_in_overload.<locals>.f  s    q6Mr*   rQ  )r   r  r   rd   )re   r  r"  r  s      @r(   test_objmode_in_overload$TestLiftObj.test_objmode_in_overload  sL    	 
#	 
	 
	 
	 	e$r*   c                 z    [         S 5       nU" 5       nU R                  U[        5        U R                  US5        g )Nc                  Z    [        [        S9   Sn S S S 5        U $ ! , (       d  f       W $ = fNval皙(@)r   gv_typer)  s    r(   
global_var8TestLiftObj.test_objmode_gv_variable.<locals>.global_var  s'    W% &J &%J   
*   )r   assertIsInstancerI  rd   )re   r-  r  s      r(   test_objmode_gv_variable$TestLiftObj.test_objmode_gv_variable  s=    		 
	
 lc3'b!r*   c                     [         S 5       nU R                  [        R                  S5         U" 5         S S S 5        g ! , (       d  f       g = f)Nc                  Z    [        [        S9   Sn S S S 5        U $ ! , (       d  f       W $ = f)Nr)  r  )r   gv_type2r)  s    r(   r-  >TestLiftObj.test_objmode_gv_variable_error.<locals>.global_var+  s'    X& 'J '&Jr/  zHError handling objmode argument 'val'. Global 'gv_type2' is not defined.r   assertRaisesRegexr   r   )re   r-  s     r(   test_objmode_gv_variable_error*TestLiftObj.test_objmode_gv_variable_error*  sI    		 
	
 ##  2

 L
 
 
	   >
Ac                    [         S 5       n[         S 5       nX4 HS  nU R                  [        U5      S9   U" 5       nU R                  U[        5        U R                  US5        S S S 5        MU     g ! , (       d  f       Mg  = f)Nc                  n    [        [        R                  S9   Sn S S S 5        U $ ! , (       d  f       W $ = fr(  )r   r   r[  r)  s    r(   modattr16TestLiftObj.test_objmode_gv_mod_attr.<locals>.modattr19  s+    UZZ( )J )(J   %
4c                      [        [        R                  R                  S9   Sn S S S 5        U $ ! , (       d  f       W $ = fr(  )r   r  r   r[  r)  s    r(   modattr26TestLiftObj.test_objmode_gv_mod_attr.<locals>.modattr2?  s1    U[[--. /J /.Js   /
>)r   r0  )r   subTestr   r1  rI  rd   )re   r?  rC  r   r  s        r(   test_objmode_gv_mod_attr$TestLiftObj.test_objmode_gv_mod_attr8  s    		 
	
 
	 
	
 &BR)d%%c3/  b)	 *) '))s   0A44
B	c                     [         S 5       nU R                  [        R                  S5         U" 5         S S S 5        g ! , (       d  f       g = f)Nc                  n    [        [        R                  S9   Sn S S S 5        U $ ! , (       d  f       W $ = fr(  )r   r   THIS_DOES_NOT_EXISTr)  s    r(   moderror<TestLiftObj.test_objmode_gv_mod_attr_error.<locals>.moderrorM  s-    U667 8J 87JrA  zQError handling objmode argument 'val'. Getattr cannot be resolved at compile-timer8  re   rK  s     r(   test_objmode_gv_mod_attr_error*TestLiftObj.test_objmode_gv_mod_attr_errorL  sI    		 
	 ##  :

 J
 
 
r<  c                     [         S 5       nU R                  [        R                  S5         U" 5         S S S 5        g ! , (       d  f       g = f)Nc                      [        [        R                  [        R                  [        R                  S9   Sn SnSnS S S 5        [
        $ ! , (       d  f       [
        $ = f)Nv1v2v3r+  )r   r   r[  rJ  float32r*  rR  s      r(   rK  ETestLiftObj.test_objmode_gv_mod_attr_error_multiple.<locals>.moderrorZ  sL    EJJ5+D+D!MM+	+
 J+ +
 Js   A
AzPError handling objmode argument 'v2'. Getattr cannot be resolved at compile-timer8  rM  s     r(   'test_objmode_gv_mod_attr_error_multiple3TestLiftObj.test_objmode_gv_mod_attr_error_multipleY  sI    		 
	 ##  :

 J
 
 
r<  c                    ^ S m[        T5      S 5       n[        U4S j5       nU R                  U" 5       [        R                  " S5      R                  [        R                  5      5        g )Nc                      g rQ   r2   r2   r*   r(   r  >TestLiftObj.test_objmode_closure_type_in_overload.<locals>.fooj  r  r*   c                  :   ^ [         R                  S S  mU4S jn U $ )Nc                     > [        TS9   [        R                  " S5      R                  [        R                  5      n S S S 5        U $ ! , (       d  f       W $ = fNr  r7   r   r"  r#  r$  r<  r   	shrubberys    r(   r  UTestLiftObj.test_objmode_closure_type_in_overload.<locals>.foo_overload.<locals>.implp  ?    +))B-..rzz:C ,
 ,+
   4A		
Ar   r<  r  rb  s    @r(   r  GTestLiftObj.test_objmode_closure_type_in_overload.<locals>.foo_overloadm  s    a(I Kr*   c                     > T " 5       $ rQ   r2   r!  s   r(   r  >TestLiftObj.test_objmode_closure_type_in_overload.<locals>.barv  
    5Lr*   r7   )r   r   r   r"  r#  r$  r<  re   r  r  r  s      @r(   %test_objmode_closure_type_in_overload1TestLiftObj.test_objmode_closure_type_in_overloadi  s_    	 
#	 
	 
	 
	 	ryy}';';BJJ'GHr*   c                    ^ S m[        T5      S 5       n[        U4S j5       nU R                  [        R                  S5         U" 5         S S S 5        g ! , (       d  f       g = f)Nc                      g rQ   r2   r2   r*   r(   r  DTestLiftObj.test_objmode_closure_type_in_overload_error.<locals>.foo}  r  r*   c                  <   ^ [         R                  S S  mU4S jn @U $ )Nc                     > [        TS9   [        R                  " S5      R                  [        R                  5      n S S S 5        U $ ! , (       d  f       W $ = fr_  r`  ra  s    r(   r  [TestLiftObj.test_objmode_closure_type_in_overload_error.<locals>.foo_overload.<locals>.impl  rd  re  rf  rg  s    @r(   r  MTestLiftObj.test_objmode_closure_type_in_overload_error.<locals>.foo_overload  s     a(I Kr*   c                     > T " 5       $ rQ   r2   r!  s   r(   r  DTestLiftObj.test_objmode_closure_type_in_overload_error.<locals>.bar  rk  r*   zIError handling objmode argument 'out'. Freevar 'shrubbery' is not defined)r   r   r9  r   r   rl  s      @r(   +test_objmode_closure_type_in_overload_error7TestLiftObj.test_objmode_closure_type_in_overload_error|  si    	 
#		 
		 
	 
	 ##2

 E
 
 
s   A
A$c                     [         S 5       nU R                  [        R                  S5         U" 5         S S S 5        g ! , (       d  f       g = f)Nc                  b    [        SS9   Sn S S S 5        [        $ ! , (       d  f       [        $ = f)Nrt   )badr5   )r   r*  r  s    r(   rK  6TestLiftObj.test_objmode_invalid_use.<locals>.moderror  s'    U# $J $#Js   
.zError handling objmode argument 'bad'. The value must be a compile-time constant either as a non-local variable or a getattr expression that refers to a Numba type.r8  rM  s     r(   test_objmode_invalid_use$TestLiftObj.test_objmode_invalid_use  sI    		 
	 ##  '
 J
 
 
r<  c                 ,  ^ [         R                  S S  m[        U4S j5       nU" 5       u  p#nU R                  US5        U R                  US5        U R                  U[        R
                  " S5      R                  [        R                  5      5        g )Nc                     > [        S[        TS9   Sn U n[        R                  " S5      R	                  [        R
                  5      nS S S 5        W WW4$ ! , (       d  f       N= f)Nr<  )t1t2t3    :(ArT   )r   r,  r"  r#  r$  int32)r  r  r  array_tys      r(   r  5TestLiftObj.test_objmode_multi_type_args.<locals>.foo  sU    
 I'h?YYq\((2 @ r2:	 @?s   8A
A$r  i  rT   )r   r  r   r   r"  r#  r$  )re   r  r  r  r  r  s        @r(   test_objmode_multi_type_args(TestLiftObj.test_objmode_multi_type_args  sv    ;;q>		 
	 U
H-F+BIIaL$7$7$ABr*   c                   ^^^	 S[         R                  4S[         R                  S S  4/n[        U5       " S S[        5      5       mSnT" U5      m	S m[        T5      UU	4S j5       n[        U4S j5       nU" 5       nU R                  UT5        U R                  UR                  S	S
5      S5        [        R                  " S[        R                  S9S
-   nU R                  UR                  U5        g )Nvaluern  c                   @    \ rS rSrS r\S 5       rS r\S 5       r	Sr
g).TestLiftObj.test_objmode_jitclass.<locals>.Bagi  c                 `    Xl         [        R                  " U[        R                  S9U l        g )NrK  )r  r"  zerosrV  rn  )re   r  s     r(   __init__7TestLiftObj.test_objmode_jitclass.<locals>.Bag.__init__  s    "
XXe2::>
r*   c                 .    U R                   R                  $ rQ   )rn  sizern   s    r(   r  3TestLiftObj.test_objmode_jitclass.<locals>.Bag.size  s    zz&r*   c                     [        U R                  5       H  nU R                  U==   U-  ss'   M     U R                  $ rQ   )rB   r  rn  )re   r*  rD   s      r(   	increment8TestLiftObj.test_objmode_jitclass.<locals>.Bag.increment  s1    tyy)AJJqMS(M *zz!r*   c                 
    X-   $ rQ   r2   r=   s     r(   add2TestLiftObj.test_objmode_jitclass.<locals>.Bag.add  s	    ur*   )rn  r  N)r   r   r   r   r  propertyr  r  staticmethodr  r   r2   r*   r(   Bagr    s4    ? ' '"
  r*   r     c                      g rQ   r2   r2   r*   r(   r  .TestLiftObj.test_objmode_jitclass.<locals>.foo  r  r*   c                  0   >^ TR                   mUU4S jn U $ )Nc                     > [        TS9   T" S5      n U R                  S5        S S S 5        U $ ! , (       d  f       W $ = f)Nr  r  rS  )r   r  )r   r  rb  s    r(   r  ETestLiftObj.test_objmode_jitclass.<locals>.foo_overload.<locals>.impl  s<    +c(CMM!$ , 
 ,+ 
s   /
>)_numba_type_)r  rb  r  mybags    @r(   r  7TestLiftObj.test_objmode_jitclass.<locals>.foo_overload  s    **I
 Kr*   c                     > T " 5       $ rQ   r2   r!  s   r(   r  .TestLiftObj.test_objmode_jitclass.<locals>.bar  rk  r*   rt   rS  rT   r  rK  )r   r  rV  r   objectr   r   r1  rd   r  r"  r  r   rn  )
re   specnr  r  rH  	exp_arrayr  r  r  s
          @@@r(   test_objmode_jitclass!TestLiftObj.test_objmode_jitclass  s    ekk"emmA&'

 
$	& 	 
	$ A	 
#	 
	 
	 
	 Ea%q!e,HHS

3a7	3r*   c                 X    [        SS9   U S-  nS S S 5        U$ ! , (       d  f       W$ = fNr<  outputr7   r  r:   r  s     r(   case_objmode_cacheTestLiftObj.case_objmode_cache  s+    I&VF ' '&r  c                   ^ [        / SQ5      m[        U4S j5       nU R                  [        R                  5       nU" 5         S S S 5        U R                  [        WR                  5      S5        g ! , (       d  f       N4= f)Nr5   rt   rS  rQ  rT   c                  X   > [        TS9   / SQn S S S 5        U $ ! , (       d  f       W $ = f)Nr  r  r  )r   ret_types    r(   test26TestLiftObj.test_objmode_reflected_list.<locals>.test2  s(    X&% 'J '&J   
)zObjmode context failed. Argument 'out' is declared as an unsupported type: reflected list\(int(32|64)\)<iv=None>. Reflected types are not supported.r   r   r   r   r   r  r   r   re   r  r   r  s      @r(   test_objmode_reflected_list'TestLiftObj.test_objmode_reflected_list  sk    /*		 
	
 v334G 5  !3	
 54   A33
Bc                   ^ [        1 Sk5      m[        U4S j5       nU R                  [        R                  5       nU" 5         S S S 5        U R                  [        WR                  5      S5        g ! , (       d  f       N4= f)N   r5   rt   rS  rQ  rT   c                  X   > [        TS9   1 Skn S S S 5        U $ ! , (       d  f       W $ = f)N)r  r  r  )r  r  s    r(   r  5TestLiftObj.test_objmode_reflected_set.<locals>.test2  s(    )( *M *)Mr  zObjmode context failed. Argument 'result' is declared as an unsupported type: reflected set\(int(32|64)\). Reflected types are not supported.r  r  s      @r(   test_objmode_reflected_set&TestLiftObj.test_objmode_reflected_set  sk    /*		 
	
 v334G 5  !3	
 54r  c                 @  ^ [         R                  " [         R                  [         R                  5      m[        U4S j5       nU R                  [        5       nU" 5         S S S 5        U R                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nc                  Z   > [        TS9   SSS.n S S S 5        U $ ! , (       d  f       W $ = f)Nresr5   rt   )r,   r-   r  r  r  s    r(   test42TestLiftObj.test_objmode_typed_dict.<locals>.test4  s-    X&A& 'J '&Js   
*zFcan't unbox a <class 'dict'> as a <class 'numba.typed.typeddict.Dict'>)
r   DictTypeunicode_typer%  r   r   r  r   r   r   re   r  r   r  s      @r(   test_objmode_typed_dict#TestLiftObj.test_objmode_typed_dict  ss    >>%"4"4ekkB		 
	
 y)VG *9  !	
 *)s   B
Bc                 "  ^ [         R                  " [         R                  5      m[        U4S j5       nU R	                  [
        5       nU" 5         S S S 5        U R                  [        WR                  5      S5        g ! , (       d  f       N4= f)Nc                  X   > [        TS9   SS/n S S S 5        U $ ! , (       d  f       W $ = f)Nr  r5   rt   r  r  s    r(   r  2TestLiftObj.test_objmode_typed_list.<locals>.test4(  s,    X&!f 'J '&Jr  zLcan't unbox a <class 'list'> as a (<class ')?numba.typed.typedlist.List('>)?)	r   ListTyper%  r   r   r  r  r   r   r  s      @r(   test_objmode_typed_list#TestLiftObj.test_objmode_typed_list&  sn    >>%++.		 
	
 y)VG *  !@	
 *)s   
B  
Bc                     [         S 5       n[        R                  " S[        R                  5      R	                  S5      nUR                  U5      nU" U5      nU R                  X45        g )Nc                     [         R                  " SS9   U R                  S5      nS S S 5        U$ ! , (       d  f       W$ = f)Nz
int64[::1]r,  r%  )r  r   viewr=   s     r(   r  1TestLiftObj.test_objmode_use_of_view.<locals>.foo9  s3    .FF7O /H /.Hs	   1
A r5   r<  )r   r"  onesr%  r  r  r   )re   r  r0  expectedr   s        r(   test_objmode_use_of_view$TestLiftObj.test_objmode_use_of_view6  s[     
	 
	
 GGArxx %%i0;;q>!f.r*   r2   N)?r   r   r   r   r   r   r  r  r(  r3  rA  rM  r   rW  r]  rh  rp  rx  r  r  r  r  r  r  r  r  r  r  r  unittestexpectedFailurer  r   r  r  r   r  r   r   r   r  r   r  r  r$  r2  r:  rF  rN  rX  rm  rx  r~  r  r  r  r  r  r  r  r  r  r   r2   r*   r(   r   r   5  s   <!5$@&8 6@&6 #6 #66$ #@ #@"8$ #4 #4"
&5"*7(
  #
4 #
44
"4C 4 4 4 44 '8 '8 2   2 
4 
440 %$
"*( I&6C$14h  

$
$
 
 /r*   r   c                     U S-  $ Nr7   r2   r9   s    r(   case_inner_pyfuncr  E  s    r6Mr*   c                 d    [        SS9   [        U 5      nS S S 5        U$ ! , (       d  f       W$ = fNr<  r  )r   r  r  s     r(   r  r  I  s,    			""1% 
#M 
#	"Mr  c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TestLiftObjCachingiO  c                 N    [         R                  " S[        R                  5        g r   r   rn   s    r(   r   TestLiftObjCaching.setUpR  r   r*   c                 .    [         R                  " 5         g rQ   r   rn   s    r(   r   TestLiftObjCaching.tearDownU  r   r*   c                    [        SS9" U5      nU R                  U" S5      S5        [        SS9" U5      nU R                  UR                  5        U R                  U" S5      S5        U R	                  UR                  5        g )NT)cacher  r+  )r   rd   assertFalse_cache_hits
assertTrue)re   r  firstseconds       r(   checkTestLiftObjCaching.checkX  sn    4 )sT*D!'*++,d+**+r*   c                 ,    S nU R                  U5        g )Nc                 X    [        SS9   U S-  nS S S 5        U$ ! , (       d  f       W$ = fr  r  r  s     r(   r   =TestLiftObjCaching.test_objmode_caching_basic.<locals>.pyfuncb  s+    	*R +M +*Mr  r  )re   r   s     r(   test_objmode_caching_basic-TestLiftObjCaching.test_objmode_caching_basica  s    	
 	

6r*   c                 :   ^ S mU4S jnU R                  U5        g )Nc                     U S-  $ r  r2   r9   s    r(   other_pyfuncNTestLiftObjCaching.test_objmode_caching_call_closure_bad.<locals>.other_pyfuncj  s    r6Mr*   c                 `   > [        SS9   T" U 5      nS S S 5        U$ ! , (       d  f       W$ = fr  r  )r:   r  r  s     r(   r   HTestLiftObjCaching.test_objmode_caching_call_closure_bad.<locals>.pyfuncm  s,    	*%a +M +*Ms   	
-r  )re   r   r  s     @r(   %test_objmode_caching_call_closure_bad8TestLiftObjCaching.test_objmode_caching_call_closure_badi  s    		
 	

6r*   c                 .    U R                  [        5        g rQ   )r  r  rn   s    r(   &test_objmode_caching_call_closure_good9TestLiftObjCaching.test_objmode_caching_call_closure_goodt  s    

%&r*   r2   N)r   r   r   r   r   r   r  r  r  r  r   r2   r*   r(   r  r  O  s     <!,	'r*   r  c                   &    \ rS rSrS rS rS rSrg)TestBogusContextix  c           	      2   [        [        5      nU R                  [        R                  5       n[        XR                  U R                  U R                  0 S9  S S S 5        U R                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nr   z*Undefined variable used as context manager)r)   rX   r   r   r   r   r   r   r   r   r   r   re   rg   r   s      r(   test_undefined_global&TestBogusContext.test_undefined_globaly  sl    ^,v334

2 5 	8  !		 54   +B
Bc           	      2   [        [        5      nU R                  [        R                  5       n[        XR                  U R                  U R                  0 S9  S S S 5        U R                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nr   z"Unsupported context manager in use)r)   r]   r   r   r   r   r   r   r   r   r   r   r  s      r(   test_invalidTestBogusContext.test_invalid  sl    \*v334

2 5 	0  !		 54r  c                     [         S 5       nU R                  [        R                  5       nU" 5         S S S 5        [	        WR
                  5      nSnU R                  XC5        g ! , (       d  f       N7= f)Nc                  P    [        S5       n  S S S 5        g ! , (       d  f       g = f)N )openr"  s    r(   r  ;TestBogusContext.test_with_as_fails_gracefully.<locals>.foo  s    bQ s   
%zGThe 'with (context manager) as (variable):' construct is not supported.)r   r   r   UnsupportedBytecodeErrorr   r   r   )re   r  r   excstrr   s        r(   test_with_as_fails_gracefully.TestBogusContext.test_with_as_fails_gracefully  sf    		 
	 v>>?6E @ V%%&c" @?s   A%%
A3r2   N)r   r   r   r   r  r  r  r   r2   r*   r(   r  r  x  s    

#r*   r  c                   F    \ rS rSrSr\\R                  S 5       5       rSr	g)TestMisci  Fc                     [        5       (       d  U R                  S5        S n/ SQn[        X5      nU R                  U5        g )Nzstrace support missingc                  &    [        S5      S 5       n g )Nzvoid()c                  d    [         R                  " 5           S S S 5        g ! , (       d  f       g = frQ   r  r2   r*   r(   r"  FTestMisc.test_no_fork_in_compilation.<locals>.force_compile.<locals>.f  s    ]]_ %__s   !
/)r   r  s    r(   force_compile;TestMisc.test_no_fork_in_compilation.<locals>.force_compile  s    (^ r*   )forkcloneexecve)r   skipTestr   r  )re   r$  syscallsstrace_datas       r(   test_no_fork_in_compilation$TestMisc.test_no_fork_in_compilation  s@      !!MM23	 / ]5%r*   r2   N)
r   r   r   r   _numba_parallel_test_r   r   run_test_in_subprocessr,  r   r2   r*   r(   r  r    s*     "$$& % &r*   r  __main__)Mr   r   numpyr"  r  numba.core.transformsr   r   numba.core.withcontextsr   r   r   numba.core.bytecoder   r	   numba.core.interpreterr
   
numba.corer   numba.core.registryr   numba.core.compilerr   r   r   r   r   r   numba.core.extendingr   numba.tests.supportr   r   r   r   r   r   r   r   r   r   numba.core.utilsr   numba.experimentalr   r  r)   r3   r;   r?   rE   rH   rK   rM   rO   rR   rU   rX   r  r\   r]   r[  r,  r_   r   r   r   r   r   r   r  r  r  r  r  r   mainr2   r*   r(   <module>r>     s<       ? Q Q : .  * 9 . . )9 9 9 ' ' "",	
 x 
 **6h 6,;( ;:9( 9.-,& -,`M/*h M/`&'X &'R%#* %#P&x &@ zMMO r*   