+
    ;i                     z   ^ RI t ^ RIt^ RIt^ RIt^ RIHtHt ^ RIH	t	H
t
Ht ^ RIHtHt ^ RIHt ^ RIHt ^ RIHt ^ RIHtHt ^ R	IHtHtHtHt ^ R
IHt ^ RIHtH t H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t(H)t) ^ RI*H+t+ ^ RI,H-t- ^ RI.t.R t/R t0R t1R t2R t3R t4R t5R t6R t7R t8R t9R t:];! 4       t<R t=]P|                  t? ! R R] 4      t@ ! R R] 4      tA ! R R ]A4      tB ! R! R"]A4      tCR# tDR$ tE ! R% R&]] 4      tFR' tGR( tH ! R) R*]] 4      tI ! R+ R,]A4      tJ ! R- R.] 4      tK]LR/8X  d   ].P                  ! 4        R# R# )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expected_failure_py314)	PYVERSION)jitclassc                     \         P                  ! V 4      p\        VR 7      p\        V4      pVP	                  V4      pV# ))func_id)r   from_functionr	   r
   	interpret)funcr"   bcinterpfunc_irs   &    Z/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/tests/test_withlifting.pyget_func_irr*      s;    ,,T2G	'	"B!Fr"GN    c                      \        R 4       \        ;_uu_ 4        \        R4       \        4        RRR4       \        R4       R#   + '       g   i     L; i)ABNCprintr   b r+   r)   lift1r4   $   s0    	#J	c
	 
 
#J 
s   AA	c                     ^p \        RV 4       ^p \        ;_uu_ 4        \        RV 4       V ^d,          p \        4        RRR4       V ^,          p \        ;_uu_ 4        \        RV 4       \        4        V ^
,          p RRR4       V ^,          p \        RV 4       R#   + '       g   i     Lf; i  + '       g   i     L:; i)   r-   r.   Nr/   Dr0   xs    r)   lift2r:   ,   s    	A	#qM	A	c1	S	 
 FA	c1		R 
 FA	#qM 

 
s    B B0B-	0C 	c            	         ^p ^dp\        RW4       \        ;_uu_ 4        \        R4       \        4        V ^d,          p \        ;_uu_ 4        \        R4       VR,          p\        4        RRR4       RRR4       V ^,          p V^,          p\        RW4       R#   + '       g   i     L8; i  + '       g   i     LC; i)r6   r-   r.   r/   i Nr7   r0   r9   ys     r)   lift3r>   =   s    	AA	#q	c
		S^#JKAC 	 
 FAFA	#q ^	 
s#   -B.B	+B.B+&B..B>	c            
      B   ^ p \        RV 4       V ^
,          p \        ;_uu_ 4        \        R4       \        4        V ^,          p \        ^
4       F7  p\        ;_uu_ 4        \        R4       \        4        W,          p RRR4       K9  	  RRR4       \        ;_uu_ 4        \        R4       \        4        V '       d
   V ^
,          p RRR4       V ^,          p \        RV 4       R#   + '       g   i     K  ; i  + '       g   i     Lx; i  + '       g   i     LN; i)r   r-   r.   r/   Nr7   E)r1   r   r2   ranger9   is     r)   lift4rD   N   s    	A	#qMGA	c
		QrAc
   	 
 
c
	GA	 

 FA	#qM   
 
s/   ;C;!C'?C;!'D'C82	C;;D	D	c                      \        R 4       R# )r-   Nr1   r3   r+   r)   lift5rG   d   s	    	#Jr+   c                      ^p \        RV 4       \        ;_uu_ 4        V ^,          p RRR4       \        RV 4       V #   + '       g   i     L; i)r6   r-   Nr.   r1   r   r8   s    r)   	liftcall1rJ   h   s9    	A	#qM		Q 
	#qMH 
s	   
=A	c                     ^p \        RV 4       \        ;_uu_ 4        V ^,          p RRR4       \        RV 4       \        ;_uu_ 4        V ^
,          p RRR4       \        RV 4       V #   + '       g   i     LJ; i  + '       g   i     L1; ir6   r-   Nr.   r/   rI   r8   s    r)   	liftcall2rM   q   s]    	A	#qM		Q 
	#qM		R 
	#qMH 
 
s   
A)	
A<)A9	<B	c                  N   ^p \        RV 4       \        ;_uu_ 4        V ^ 8  d
   V ^,          p RRR4       \        RV 4       \        ;_uu_ 4        \        ^
4       F  pW,          p K  	  RRR4       \        RV 4       V #   + '       g   i     L[; i  + '       g   i     L1; irL   )r1   r   rA   rB   s     r)   	liftcall3rO   }   st    	A	#qM	q5FA 
 
#qM	rAFA  
 
#qMH 
 
s   BBB	B$	c            	          \         ;_uu_ 4        \         ;_uu_ 4         R R R 4       R R R 4       R #   + '       g   i     L; i  + '       g   i     R # ; iN)r   r3   r+   r)   	liftcall4rR      s+    	\  
\ 
s   A2	AAAA	c                      \        ^
4       FD  p \        ;_uu_ 4        \        V 4       V ^8X  d   \        R4        RRR4        V #  RRR4       KF  	  X #   + '       g   i     K[  ; i)
   r-   N)rA   r   r1   )rC   s    r)   	liftcall5rU      sX    2Y\!HAvc
	 \
 H  \  H \\s   AA'c                  ^    \         ;_uu_ 4         R R R 4       R #   + '       g   i     R # ; irQ   )undefined_global_varr3   r+   r)   lift_undefiendrX          		 
			   ,	c                  ^    \         ;_uu_ 4         R R R 4       R #   + '       g   i     R # ; irQ   )bogus_contextmanagerr3   r+   r)   lift_invalidr]      rY   rZ   c                   D   a  ] tR t^t o R tR tR tR tR tR t	Rt
V tR# )	TestWithFindingc                t    \        V4      p\        \        V4      ^ ,          4      pV P                  WB4       R# r   N)r*   lenr   assertEqual)selfr%   expect_countthe_ircts   &&&  r)   check_num_of_with!TestWithFinding.check_num_of_with   s.    T"(+,*r+   c                4    V P                  \        ^R7       R# r6   re   N)rh   r4   rd   s   &r)   
test_lift1TestWithFinding.test_lift1       u15r+   c                4    V P                  \        ^R7       R#    rl   N)rh   r:   rm   s   &r)   
test_lift2TestWithFinding.test_lift2   rp   r+   c                4    V P                  \        ^R7       R# rk   )rh   r>   rm   s   &r)   
test_lift3TestWithFinding.test_lift3   rp   r+   c                4    V P                  \        ^R7       R# rr   )rh   rD   rm   s   &r)   
test_lift4TestWithFinding.test_lift4   rp   r+   c                4    V P                  \        ^ R7       R# )r   rl   N)rh   rG   rm   s   &r)   
test_lift5TestWithFinding.test_lift5   rp   r+   r3   N)__name__
__module____qualname____firstlineno__rh   rn   rt   rw   rz   r}   __static_attributes____classdictcell____classdict__s   @r)   r_   r_      s(     +
66666 6r+   r_   c                   B   a a ] tR t^t oV 3R ltR tRR ltRtVtV ;t	# )BaseTestWithLiftingc                   < \         \        V `  4        \        P                  V n        \        P                  V n        \        V n	        R # rQ   )
superr   setUpr   typing_context	typingctxtarget_context	targetctxr   flags)rd   	__class__s   &r)   r   BaseTestWithLifting.setUp   s2    !4.0#22#22"
r+   c                   \        V4      p\        W@P                  V P                  V P                  / R 7      w  rVV P                  \        V4      V4       V P                  V4      p\        4       ;_uu_ 4       pVP                  4        RRR4       V P                  XP                  4       V4       R#   + '       g   i     L2; i)localsN)r*   r   r   r   r   rc   rb   r   r   entry_pointgetvalue)	rd   r%   re   expected_stdoutrf   new_ir	extractedcresouts	   &&&&     r)   check_extracted_with(BaseTestWithLifting.check_extracted_with   s    T"(NNDNNDJJ
 	Y6v&#  	9 s   9B44C	c           
     h    V P                   pV P                  pV P                  p\        WEWW6/ R 7      # )r   )r   r   r   r   )rd   rf   argsreturn_typer   r   r   s   &&&&   r)   r   BaseTestWithLifting.compile_ir   s3    NN	NN	

)'r; 	;r+   )r   r   r   )r3   N)
r   r   r   r   r   r   r   r   r   __classcell__)r   r   s   @@r)   r   r      s     #:; ;r+   r   c                   >   a  ] tR t^t o R tR tR tR tR tRt	V t
R# )TestLiftByPassc                6    V P                  \        ^RR7       R# )r6   zA
C
re   r   N)r   r4   rm   s   &r)   rn   TestLiftByPass.test_lift1   s    !!%a2: 	" 	<r+   c                6    V P                  \        ^RR7       R# )rs   zA 1
D 3
r   N)r   r:   rm   s   &r)   rt   TestLiftByPass.test_lift2   s    !!%a2> 	" 	@r+   c                6    V P                  \        ^RR7       R# )r6   zA 1 100
D 2 101
r   N)r   r>   rm   s   &r)   rw   TestLiftByPass.test_lift3   s    !!%a2F 	" 	Hr+   c                6    V P                  \        ^RR7       R# )rs   z	A 0
E 11
r   N)r   rD   rm   s   &r)   rz   TestLiftByPass.test_lift4   s    !!%a2? 	" 	Ar+   c                6    V P                  \        ^ RR7       R# )r   zA
r   N)r   rG   rm   s   &r)   r}   TestLiftByPass.test_lift5   s    !!%a27 	" 	9r+   r3   N)r   r   r   r   rn   rt   rw   rz   r}   r   r   r   s   @r)   r   r      s&     <@HA9 9r+   r   c                   l   a  ] tR t^t o R tR tR tR tR t]	]
]]R 4       4       4       4       tRtV tR# )	TestLiftCallc                L   \        V4      p\        4       ;_uu_ 4       pV! 4        RRR4       \        4       ;_uu_ 4       pV! 4        RRR4       V P                  XP                  4       XP                  4       4       R#   + '       g   i     Lb; i  + '       g   i     LS; i)z2Ensure same semantic with non-jitted code
        N)r   r   rc   r   )rd   r%   jittedgotexpects   &&   r)   check_same_semantic TestLiftCall.check_same_semantic   sj     d#H  &F  	):;  s   B  B B	B#	c                `    V P                  \        ^RR7       V P                  \        4       R# )r6   zA 1
B 2
r   N)r   rJ   r   rm   s   &r)   test_liftcall1TestLiftCall.test_liftcall1  s+    !!)!2> 	" 	@  +r+   c                `    V P                  \        ^RR7       V P                  \        4       R# )rs   zA 1
B 2
C 12
r   N)r   rM   r   rm   s   &r)   test_liftcall2TestLiftCall.test_liftcall2  +    !!)!2D 	" 	F  +r+   c                `    V P                  \        ^RR7       V P                  \        4       R# )rs   zA 1
B 2
C 47
r   N)r   rO   r   rm   s   &r)   test_liftcall3TestLiftCall.test_liftcall3  r   r+   c                b   \         P                  \         P                  \         P                  \         P                  3pV P                  V4      ;_uu_ 4       p\        \        4      ! 4        R R R 4       RpV P                  V\        XP                  4      4       R #   + '       g   i     L9; i)Nz2compiler re-entrant to the same function signature)r   TypingErrorNumbaRuntimeErrorNumbaValueErrorCompilerErrorassertRaisesr   rR   assertInstr	exception)rd   acceptraisesmsgs   &   r)   test_liftcall4TestLiftCall.test_liftcall4  sx    $$f&>&>((&*>*>@v&&&O ' Dc3v//01 '&s   BB.	c                `    V P                  \        ^RR7       V P                  \        4       R# )r6   z0
1
2
3
4
5
A
r   N)r   rU   r   rm   s   &r)   test_liftcall5TestLiftCall.test_liftcall5  s-    
 	!!)!2I 	" 	K  +r+   r3   N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s   @r)   r   r      sJ     
<,
,
,
2 ,    ,r+   r   c                    a  V 3R  lpV# )c                    < V P                  \        P                  4      ;_uu_ 4       pS! V .VO5/ VB  R R R 4       V P                  R\	        XP
                  4      4       R #   + '       g   i     L7; i)NzDoes not support list typer   r   r   r   r   r   rd   r   kwargsr   fns   &*, r)   core+expected_failure_for_list_arg.<locals>.core'  sY    v1122ft%d%f% 32&**+	- 32   A%%A5	r3   r   r   s   f r)   expected_failure_for_list_argr   &      -
 Kr+   c                    a  V 3R  lpV# )c                    < V P                  \        P                  4      ;_uu_ 4       pS! V .VO5/ VB  R R R 4       V P                  R\	        XP
                  4      4       R #   + '       g   i     L7; i)NzDoes not support function typer   r   s   &*, r)   r   /expected_failure_for_function_arg.<locals>.core0  sY    v1122ft%d%f% 36&**+	- 32r   r3   r   s   f r)   !expected_failure_for_function_argr   /  r   r+   c                     a  ] tR tRt o R tR tR tR tR tR t	R t
R	 t]R
 4       tR t]R 4       tR t]R 4       tR tR tR tR tR tR t]R 4       tR tR tR tR t]P<                  R 4       t] R 4       t!R t"]#R 4       t$]%]&]'](R 4       4       4       4       t)]P<                  R 4       t*R  t+R! t,R" t-R# t.R$ t/R% t0R& t1R' t2R( t3R) t4R* t5R+ t6R, t7]8R- 4       t9R. t:R/ t;R0 t<R1 t=R2 t>R3t?V t@R4# )5TestLiftObji8  c                P    \         P                  ! R \        P                  4       R# errorNwarningssimplefilterr   NumbaWarningrm   s   &r)   r   TestLiftObj.setUp:      gv':':;r+   c                0    \         P                  ! 4        R # rQ   r   resetwarningsrm   s   &r)   tearDownTestLiftObj.tearDown=       r+   c                   \         P                  ! V4      p\         P                  ! V4      p\        V4      p\        4       ;_uu_ 4       pV! V!  pVP	                  4       pR R R 4       VP                  \        \        \        V4      4      4       \        4       ;_uu_ 4       pV! V!  p	VP	                  4       p
R R R 4       V P                  XX
4       V P                  XX	4       R #   + '       g   i     L; i  + '       g   i     LI; irQ   )copydeepcopyr   r   r   compiletuplemapr   rc   assertPreciseEqual)rd   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;(C8	;D	c                n   a R  oV3R lpV3R lpV P                  V^{4       V P                  V^{4       R# )c                 0    \        R RV ^,          /4       R# )zival =ivalNrF   )r	  s   &r)   bar0TestLiftObj.test_lift_objmode_basic.<locals>.barS  s    (VTQY/0r+   c                    < V ^,          p \         ;_uu_ 4        S! V 4       RRR4       V ^,           #   + '       g   i     T ^,           # ; ir6   Nr   r	  r
  s   &r)   foo0TestLiftObj.test_lift_objmode_basic.<locals>.fooV  s7    AID D	 !!8O !!8Os	   	3A	c                    < V ^,          p \         P                  ;_uu_ 4        S! V 4       RRR4       V ^,           #   + '       g   i     T ^,           # ; ir  numbar   r  s   &r)   foo_nonglobal:TestLiftObj.test_lift_objmode_basic.<locals>.foo_nonglobal\  s;    AIDD	 !8O !8Os	   	=A	Nr  )rd   r  r  r
  s   &  @r)   test_lift_objmode_basic#TestLiftObj.test_lift_objmode_basicR  s4    	1		 	++C5++M3?r+   c                @   a R  oV3R lp^
pV P                  W4       R# )c                 @    \        R V ^,          /4       V ^,          p R# )arrNrF   )r  s   &r)   r
  3TestLiftObj.test_lift_objmode_array_in.<locals>.barf  s    5#(#$1HCr+   c                    < \         P                  ! V 4      P                  \         P                  4      p\        ;_uu_ 4        S! V4       R R R 4       V^,           #   + '       g   i     T^,           # ; irQ   )nparangeastypeint64r   )nelemr  r
  s   & r)   r  3TestLiftObj.test_lift_objmode_array_in.<locals>.fook  sO    ))E"))"((3C C ! 7N ! 7Ns   	AA5	Nr  )rd   r  r#  r
  s   &  @r)   test_lift_objmode_array_in&TestLiftObj.test_lift_objmode_array_ine  s"    	
	 ++C7r+   c                @   a R  oV3R lp^{pV P                  W4       R# )c                     \        V 4       R # rQ   rF   r=   s   &r)   r
  <TestLiftObj.test_lift_objmode_define_new_unused.<locals>.barv  s	    !Hr+   c                    < \        4       ;_uu_ 4        ^V ,           p\        P                  ! V4      pS! V4       RRR4       V #   + '       g   i     T # ; irs   N)r   r  r   )r9   r=   ar
  s   &  r)   r  <TestLiftObj.test_lift_objmode_define_new_unused.<locals>.fooy  sE     ""EIIaLA # H	 #" Hs   (AA	Nr  )rd   r  argr
  s   &  @r)   #test_lift_objmode_define_new_unused/TestLiftObj.test_lift_objmode_define_new_unusedu  s"    		 ++C5r+   c                n   a R  oV3R lpV3R lp^{pV P                  W4       V P                  W#4       R# )c                 *    \        V 4       ^V ,          # r6   rF   r8   s   &r)   inverse<TestLiftObj.test_lift_objmode_return_simple.<locals>.inverse      !Hq5Lr+   c                    < \        R R7      ;_uu_ 4        S! V 4      pRRR4       W3#   + '       g   i     T X3# ; ifloat64r)  Nr  r9   r=   r5  s   & r)   r  8TestLiftObj.test_lift_objmode_return_simple.<locals>.foo  s5     9--AJ .4K .-a4Ks   	*=	c                    < \         P                  ! R R7      ;_uu_ 4        S! V 4      pRRR4       W3#   + '       g   i     T X3# ; ir9  r  r;  s   & r)   r  BTestLiftObj.test_lift_objmode_return_simple.<locals>.foo_nonglobal  s9    ++AJ ,4K ,+a4Ks	   	5A	Nr  )rd   r  r  r/  r5  s   &   @r)   test_lift_objmode_return_simple+TestLiftObj.test_lift_objmode_return_simple  s5    		
	
 ++C5++M?r+   c                   a R  oV3R lp\         P                  ! ^^
\         P                  R7      pV P                  W4       R# )c                 *    \        V 4       ^V ,          # r4  rF   r8   s   &r)   r5  ;TestLiftObj.test_lift_objmode_return_array.<locals>.inverse  r7  r+   c                    < \        R RR7      ;_uu_ 4        S! V 4      p\        V^ ,          4      pRRR4       V XX3#   + '       g   i     L; i)
float64[:]r"  )r=   zN)r   int)r9   r=   rF  r5  s   &  r)   r  7TestLiftObj.test_lift_objmode_return_array.<locals>.foo  sA     <7;;AJ!I < a7N <;s	   ?A	dtypeN)r  r   r:  r  )rd   r  r/  r5  s   &  @r)   test_lift_objmode_return_array*TestLiftObj.test_lift_objmode_return_array  s3    		 ii2RZZ0++C5r+   c                6    R  p. ROpV P                  W4       R# )c           	         \        R R7      ;_uu_ 4        \        V 4       ^V ^ &   \        V 4       . ROV ,           p\        P                  ! V Uu. uF  p^V,          NK  	  up4      pRRR4       W3# u upi   + '       g   i     T X3# ; i)rE  r)  Nr6   rs      )r   r1   r  asarray)r9   r=   rC   s   &  r)   r  5TestLiftObj.test_lift_objmode_using_list.<locals>.foo  sw     <00a!aMJJq1q!Aq12 1 4K  2 10 a4Ks   ;A9A4"A94A99B	NrO  r  rd   r  r/  s   &  r)   test_lift_objmode_using_list(TestLiftObj.test_lift_objmode_using_list  s    	 ++C5r+   c                2    R  p^{pV P                  W4       R# )c                 6   \        V 4       F  p K  	  V '       d
   V ^,          p \        RR7      ;_uu_ 4        \        V 4       V ^,          p \        V 4       \        V 4       F  pW,          p \        V 4       K  	  RRR4       V #   + '       g   i     T # ; i)r6   intpr8   N)rA   r   r1   rB   s   & r)   r  4TestLiftObj.test_lift_objmode_var_redef.<locals>.foo  sy    1X Q 6**aQaqAFA!H "	 + H +* Hs   ABB	Nr  rS  s   &  r)   test_lift_objmode_var_redef'TestLiftObj.test_lift_objmode_var_redef  s    	 ++C5r+   c                6    R  pV P                  V. RO^4       R# )c                    W^&   \        4       ;_uu_ 4        \        V 4       RRR4       \        4       ;_uu_ 4        ^V,          V ^&   \        V 4       RRR4       V #   + '       g   i     LD; i  + '       g   i     T # ; ir,  r   r1   r9   rF  s   &&r)   r  =TestLiftObj.test_case01_mutate_list_ahead_of_ctx.<locals>.foo  b    aD ""a # !""1u!a #
 H #" #"
 H   AA2A/	2B	NrO  r  rd   r  s   & r)   $test_case01_mutate_list_ahead_of_ctx0TestLiftObj.test_case01_mutate_list_ahead_of_ctx  s    	 	++CB?r+   c                `    R  p\         P                  ! . RO4      pV P                  W^4       R# )c                    W^&   \        4       ;_uu_ 4        \        V 4       RRR4       \        4       ;_uu_ 4        ^V,          V ^&   \        V 4       RRR4       V #   + '       g   i     LD; i  + '       g   i     T # ; ir,  r^  r_  s   &&r)   r  >TestLiftObj.test_case02_mutate_array_ahead_of_ctx.<locals>.foo  ra  rb  NrO  r  arrayr  rd   r  r9   s   &  r)   %test_case02_mutate_array_ahead_of_ctx1TestLiftObj.test_case02_mutate_array_ahead_of_ctx  s'    	 HHY++CB7r+   c                0    R  pV P                  V^4       R# )c                     \        R R7      ;_uu_ 4        . ROpRRR4       \        4       ;_uu_ 4        ^
X^&   RRR4       V#   + '       g   i     L2; i  + '       g   i     X# ; izList(int64)r)  NrO  r  r<   s   & r)   r  6TestLiftObj.test_case03_create_and_mutate.<locals>.foo  H     =11 2 ""! #H	 21""H   AAA	A(	Nr  rc  s   & r)   test_case03_create_and_mutate)TestLiftObj.test_case03_create_and_mutate  s    	 	++C3r+   c                2   R  p\         P                  ! . RO4      p\        V4      pV P                  \        P
                  4      ;_uu_ 4       pV! V4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)c                 ~    \        R R7      ;_uu_ 4        \        V 4       RRR4       V #   + '       g   i     T # ; i)rE  kNr^  r8   s   &r)   r  =TestLiftObj.test_case04_bogus_variable_type_info.<locals>.foo  s,     <00a 1H 10H   +<	Nz1Invalid type annotation on non-outgoing variablesrO  )	r  rj  r   r   r   r   r   r   r   rd   r  r9   cfoor   s   &    r)   $test_case04_bogus_variable_type_info0TestLiftObj.test_case04_bogus_variable_type_info  sk    	 HHYCyv1122fG 3?  !	 32   	BB	c                   R  p\         P                  ! . RO4      p\        V4      pV P                  \        4      ;_uu_ 4       pV! V4      pRRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)c                 z    \        R R7      ;_uu_ 4        V R,           pRRR4       V#   + '       g   i     X# ; i)rE  rF  y              ?Nr  r_  s   & r)   r  4TestLiftObj.test_case05_bogus_type_info.<locals>.foo  s0     !<00G 1H 10H   
):	NzXcan't unbox array from PyObject into native value.  The object maybe of a different typerO  )r  rj  r   r   	TypeErrorr   r   r   )rd   r  r9   r}  r   r   s   &     r)   test_case05_bogus_type_info'TestLiftObj.test_case05_bogus_type_info  si    	 HHYCyy))Vq'C *6  !	
 *)   	A<<B	c                   R  pV P                  \        P                  4      ;_uu_ 4       p\        V4      ! ^{4       RRR4       RpV P	                  \        XP                  4      V4       R#   + '       g   i     L9; i)c           	          \        4       ;_uu_ 4        \        4       ;_uu_ 4        \        V 4       R R R 4       R R R 4       V #   + '       g   i     L; i  + '       g   i     T # ; irQ   r^  r8   s   &r)   r  3TestLiftObj.test_case06_double_objmode.<locals>.foo  sG     !""(**a + # H +* #" Hs!   AA	AAAA(	Nz@During: resolving callee type: type\(ObjModeLiftedWith\(<.*>\)\))r   r   r   r   assertRegexr   r   )rd   r  r   pats   &   r)   test_case06_double_objmode&TestLiftObj.test_case06_double_objmode  s]    	 v1122fIcN 34V--.4 32s   A..A>	c                Z   R  p\         P                  ! . RO4      p\        V4      pV P                  \        P
                  4      ;_uu_ 4       pV! V4       RRR4       \        XP                  4      pV P                  RV4       V P                  RV4       R#   + '       g   i     LK; i)c                 t    \        4       ;_uu_ 4        R V /p^pRRR4       V XX3#   + '       g   i     L; i)r-  Nr  )r9   tus   &  r)   r  6TestLiftObj.test_case07_mystery_key_error.<locals>.foo)  s4     ""!H # a7N #"s   '7	Nz;Missing type annotation on outgoing variable(s): ['t', 'u']z9Example code: with objmode(t='<add_type_as_string_here>')rO  )	r  rj  r   r   r   r   r   r   r   )rd   r  r9   r}  r   exstrs   &     r)   test_case07_mystery_key_error)TestLiftObj.test_case07_mystery_key_error'  s    	
 HHYCyv1122fG 3 F$$% #	 	 8	 32s   	BB*	c                :  a \        4       oV3R  lp\        P                  ! . RO4      p\        V4      pV P	                  \
        4      ;_uu_ 4       pV! V4       RRR4       V P                  \        XP                  4      R4       R#   + '       g   i     L7; i)c                    < \        \        V 4      4       FH  p\        4       ;_uu_ 4        \        V4      pW,          pVSV&   \	        SR ,          4       RRR4       KJ  	  V #   + '       g   i     K_  ; i)2N)rA   rb   r   r   r1   )r9   rC   ry  vds   &   r)   r  8TestLiftObj.test_case08_raise_from_external.<locals>.fooA  s]    3q6]$&&AAAAaD!C&M	 '& # H '&&s   +A$$A5Nz'2'rO  )	dictr  rj  r   r   KeyErrorrc   r   r   )rd   r  r9   r}  r   r  s   &    @r)   test_case08_raise_from_external+TestLiftObj.test_case08_raise_from_external<  sm     F	 HHYCyx((FG )V--.6 )(s   	B

B	c                2   R  p\         P                  ! . RO4      p\        V4      pV P                  \        P
                  4      ;_uu_ 4       pV! V4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)c                 d    \        4       ;_uu_ 4        \        4       h  + '       g   i     T # ; irQ   )r   
ValueErrorr8   s   &r)   r  3TestLiftObj.test_case09_explicit_raise.<locals>.fooQ  s!     "" l" #"Hs   /	NzBunsupported control flow due to raise statements inside with blockrO  )	r  rj  r   r   r   r   r   r   r   r|  s   &    r)   test_case09_explicit_raise&TestLiftObj.test_case09_explicit_raiseP  sm    	
 HHYCyv3344G 5  !	
 54r  c                ^    R  p\         P                  ! . RO4      pV P                  W4       R# )c                     \        R R7      ;_uu_ 4        . ROpRRR4       \        4       ;_uu_ 4        ^
X^&   RRR4       V#   + '       g   i     L2; i  + '       g   i     X# ; irp  r  r<   s   & r)   r  ;TestLiftObj.test_case10_mutate_across_contexts.<locals>.fooc  rr  rs  NrO  ri  rk  s   &  r)   "test_case10_mutate_across_contexts.TestLiftObj.test_case10_mutate_across_contexts`  s%    	 HHY++C3r+   c                ^    R  p\         P                  ! . RO4      pV P                  W4       R# )c                    \        R R7      ;_uu_ 4        \        P                  ! . RORR7      pRRR4       \        4       ;_uu_ 4        ^
X^&   RRR4       V#   + '       g   i     L2; i  + '       g   i     X# ; i)int64[:]r)  r"  rI  NrO  )r   r  rQ  r<   s   & r)   r  ATestLiftObj.test_case10_mutate_array_across_contexts.<locals>.fooo  sW     :..JJy8 / ""! # H /."" Hs   A
A-A*	-A>	NrO  ri  rk  s   &  r)   (test_case10_mutate_array_across_contexts4TestLiftObj.test_case10_mutate_array_across_contextsm  s%    	 HHY++C3r+   c                   R  p\         P                  ! . RO4      p\        V4      pV P                  \        4      ;_uu_ 4       pV! V4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)c                 j    \        4       ;_uu_ 4        R  pRRR4       V #   + '       g   i     T # ; i)c                     V ^,           # r4  r3   r)  s   &r)   r
  LTestLiftObj.test_case11_define_function_in_context.<locals>.foo.<locals>.bar~  s    q5Lr+   Nr  )r9   r
  s   & r)   r  ?TestLiftObj.test_case11_define_function_in_context.<locals>.foo|  s,     ""! # H #" Hs   !2	Nz global name 'bar' is not definedrO  )r  rj  r   r   	NameErrorr   r   r   r|  s   &    r)   &test_case11_define_function_in_context2TestLiftObj.test_case11_define_function_in_contextz  se    	 HHYCyy))VG *.  !	
 *)r  c                l   a R  oV3R lp\         P                  ! . RO4      pV P                  W4       R# )c                     V ^,           # r4  r3   r)  s   &r)   r
  >TestLiftObj.test_case12_njit_inside_a_objmode_ctx.<locals>.bar  s    q5Lr+   c                    < \        R R7      ;_uu_ 4        \        S4      ! V 4      P                  R4      pRRR4       W,           #   + '       g   i     T X,           # ; i)r  r)  r"  N)r   r   r!  r9   r=   r
  s   & r)   r  >TestLiftObj.test_case12_njit_inside_a_objmode_ctx.<locals>.foo  sD     :..IaL''0 /5L /.q5Ls   !AA	NrO  ri  )rd   r  r9   r
  s   &  @r)   %test_case12_njit_inside_a_objmode_ctx1TestLiftObj.test_case12_njit_inside_a_objmode_ctx  s+    		
 HHY++C3r+   c                    R  pV! \         P                  ! . RO4      4      p\         P                  P                  \         P                  ! . RO4      V4       R# )c                 ~    \        R R7      ;_uu_ 4        V ^,          p V uuRRR4       #   + '       g   i     R# ; ir  r8   Nr  r8   s   &r)   r  CTestLiftObj.test_case14_return_direct_from_objmode_ctx.<locals>.foo  s(     :..Q /...s   +<	NrO  )rs   rP     )r  rj  testingassert_array_equal)rd   r  results   &  r)   *test_case14_return_direct_from_objmode_ctx6TestLiftObj.test_case14_return_direct_from_objmode_ctx  s9    	
 RXXi()


%%bhhy&96Br+   c                ^    R  p\         P                  ! . RO4      pV P                  W4       R# )c                 2   a ^
oV3R lpV! V 4      ^,           # )rT   c                    < \        R R7      ;_uu_ 4        \        V 4       V S,           uuRRR4       #   + '       g   i     R# ; ir  r^  )r9   js   &r)   r
  HTestLiftObj.test_case15_close_over_objmode_ctx.<locals>.foo.<locals>.bar  s+    $z22!Hq5 3222s	   5A	r3   )r9   r
  r  s   & @r)   r  ;TestLiftObj.test_case15_close_over_objmode_ctx.<locals>.foo  s    A! q6A:r+   NrO  ri  rk  s   &  r)   "test_case15_close_over_objmode_ctx.TestLiftObj.test_case15_close_over_objmode_ctx  s%    	 HHY++C3r+   c                r   a ^ RI Ho V3R lp\        P                  ! . RO4      pV P	                  W4       R# )r   )sparsec                    < \        R R7      ;_uu_ 4        \        V 4       SP                  V 4      p\        P                  ! VR,          4      pRRR4       V#   + '       g   i     X# ; i)r"  rx  N)r   r   )r   r1   
csr_matrixr  r"  )r9   spxry  sps   &  r)   r  >TestLiftObj.test_case16_scipy_call_in_objmode_ctx.<locals>.foo  sS     7++ammA& HHSY' , H ,+ Hs   :AA+	NrO  )scipyr  r  rj  r  )rd   r  r9   r  s   &  @r)   %test_case16_scipy_call_in_objmode_ctx1TestLiftObj.test_case16_scipy_call_in_objmode_ctx  s)    &	 HHY++C3r+   c                t   aa ^ RI oVV3R lo\        P                  ! . RO4      pV P                  SV4       R# )r   Nc                    < \        4       ;_uu_ 4        SP                  S4       R R R 4       R #   + '       g   i     R # ; irQ   )r   dis)r9   r  r  s   &r)   r  7TestLiftObj.test_case17_print_own_bytecode.<locals>.foo  s&     "" #"""s	   0A	rO  )r  r  rj  r  )rd   r9   r  r  s   & @@r)   test_case17_print_own_bytecode*TestLiftObj.test_case17_print_own_bytecode  s+    	 HHY++C3r+   c                x    R  p\         P                  ! . RO4      p\        R 4      pV P                  WV4       R# )c                     \        4       ;_uu_ 4        V ! V^ ,          4       RRR4       R#   + '       g   i     R# ; ira   r  )r%   r9   s   &&r)   r  CTestLiftObj.test_case18_njitfunc_passed_to_objmode_ctx.<locals>.foo  s%     ""QqT
 #"""s   ->	c                     V ^,           # )   r3   r  s   &r)   <lambda>HTestLiftObj.test_case18_njitfunc_passed_to_objmode_ctx.<locals>.<lambda>  s    AEr+   NrO  )r  rj  r   r  )rd   r  r9   r   s   &   r)   *test_case18_njitfunc_passed_to_objmode_ctx6TestLiftObj.test_case18_njitfunc_passed_to_objmode_ctx  s1    	 HHY/"++CQ7r+   c                Z  a V3R  loV P                  \        P                  \        P                  34      ;_uu_ 4       p\	        S4      pV! \
        P                  ! . RO4      4       RRR4       RpV P                  V\        XP                  4      4       R#   + '       g   i     L9; i)c                    < \        4       ;_uu_ 4        V ^ 8X  d    RRR4       ^#  RRR4       S! V ^,
          4      pV#   + '       g   i     L!; ira   r  )r9   retr  s   & r)   r  .TestLiftObj.test_case19_recursion.<locals>.foo  sC     ""6 #" # a!e*CJ	 #"s   	AA	NzUntyped global name 'foo'rO  )
r   r   r   r   r   r  rj  r   r   r   )rd   r   r}  r   r  s   &   @r)   test_case19_recursion!TestLiftObj.test_case19_recursion  sx    
	  2 2F4H4HIJJf9D)$% K *c3v//01	 KJs   *BB*	c                ^    R  p\         P                  ! . RO4      pV P                  W4       R# )c                 8   \         P                  P                  ^ 4       \         P                  P                  4       p\	        RR7      ;_uu_ 4        \         P                  P                  4       pRRR4       V X,           V,           #   + '       g   i     L ; ir   r:  r  Nr  randomseedrandr   r9   r=   rF  s   &  r)   r  1TestLiftObj.test_case20_rng_works_ok.<locals>.foo  s[    IINN1		 A 9--IINN$ . q519 .-s   B		B	NrO  ri  rk  s   &  r)   test_case20_rng_works_ok$TestLiftObj.test_case20_rng_works_ok  s%    	 HHY++C3r+   c                ^    R  p\         P                  ! . RO4      pV P                  W4       R# )c                 v   \         P                  P                  ^ 4       \         P                  P                  4       p\	        RR7      ;_uu_ 4        \         P                  P                  ^ 4       \         P                  P                  4       pRRR4       V X,           V,           #   + '       g   i     L ; ir  r  r  s   &  r)   r  6TestLiftObj.test_case21_rng_seed_works_ok.<locals>.foo  sk    IINN1		 A 9--		q!IINN$ . q519	 .-s   >B((B8	NrO  ri  rk  s   &  r)   test_case21_rng_seed_works_ok)TestLiftObj.test_case21_rng_seed_works_ok  s%    	 HHY++C3r+   c                   a R  o\         V3R l4       pV P                  V! 4       VP                  4       4       V P                  \        \
        4       R# )c                 n    \         P                  ! \        \        V P	                  4       4      4      4      # rQ   )r  rQ  listreversedtolistr8   s   &r)   r
  'TestLiftObj.test_example01.<locals>.bar  s!    ::d8AHHJ#7899r+   c                     < \         P                  ! ^4      p \        RR7      ;_uu_ 4        V S! V 4      ,           pRRR4       V#   + '       g   i     X# ; i)r  zintp[:]r)  N)r  r   r   r  s     r)   r  'TestLiftObj.test_example01.<locals>.foo  sD    		!A9%%AJ & H &% Hs   AA	N)r   r   py_funcassertIsr   r   )rd   r  r
  s   & @r)   test_example01TestLiftObj.test_example01   sD    	: 
	 
	 	s{{}5g/r+   c                   a R  o\        S4      R 4       p\        P                  V3R l4       pV P                  V! 4       ^4       R# )c                     R # rQ   r3   )ss   &r)   r  1TestLiftObj.test_objmode_in_overload.<locals>.foo      r+   c                     R  pV# )c                 z    \        R R7      ;_uu_ 4        V ^,           pRRR4       V#   + '       g   i     X# ; i)rX  r   Nr   )r  r   s   & r)   implHTestLiftObj.test_objmode_in_overload.<locals>.foo_overload.<locals>.impl  s.    ((a%C )
 )(
r  r3   )r  r  s   & r)   foo_overload:TestLiftObj.test_objmode_in_overload.<locals>.foo_overload  s     Kr+   c                     < S ! ^4      # r4  r3   r  s   r)   f/TestLiftObj.test_objmode_in_overload.<locals>.f  s    q6Mr+   N)r   r  r   rc   )rd   r  r   r  s   &  @r)   test_objmode_in_overload$TestLiftObj.test_objmode_in_overload  sL    	 
#	 
	 
	 
	 	e$r+   c                |    \         R  4       pV! 4       pV P                  V\        4       V P                  V^4       R# )c                  t    \        \        R 7      ;_uu_ 4        Rp RRR4       V #   + '       g   i     X # ; ival皙(@N)r   gv_typer'  s    r)   
global_var8TestLiftObj.test_objmode_gv_variable.<locals>.global_var#  s*    W%% &J &%J   &7	N)r   assertIsInstancerG  rc   )rd   r+  r  s   &  r)   test_objmode_gv_variable$TestLiftObj.test_objmode_gv_variable"  s=    		 
	
 lc3'b!r+   c                    \         R  4       pV P                  \        P                  R4      ;_uu_ 4        V! 4        RRR4       R#   + '       g   i     R# ; i)c                  t    \        \        R 7      ;_uu_ 4        ^{p RRR4       V #   + '       g   i     X # ; i)r'  N)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.Nr   assertRaisesRegexr   r   )rd   r+  s   & r)   test_objmode_gv_variable_error*TestLiftObj.test_objmode_gv_variable_error.  sS    		 
	
 ##  2
 

 L
 
 
 
   AA	c                (   \         R  4       p\         R 4       pW3 F^  pV P                  \        V4      R7      ;_uu_ 4        V! 4       pV P                  V\        4       V P                  V^4       RRR4       K`  	  R#   + '       g   i     Ku  ; i)c                      \        \        P                  R 7      ;_uu_ 4        Rp RRR4       V #   + '       g   i     X # ; ir&  )r   r   rX  r'  s    r)   modattr16TestLiftObj.test_objmode_gv_mod_attr.<locals>.modattr1=  s.    UZZ(( )J )(J	   0A	c                      \        \        P                  P                  R 7      ;_uu_ 4        Rp RRR4       V #   + '       g   i     X # ; ir&  )r   r  r   rX  r'  s    r)   modattr26TestLiftObj.test_objmode_gv_mod_attr.<locals>.modattr2C  s4    U[[--.. /J /.Js	   :A	)r   N)r   subTestr   r.  rG  rc   )rd   r<  r@  r   r  s   &    r)   test_objmode_gv_mod_attr$TestLiftObj.test_objmode_gv_mod_attr<  s    		 
	
 
	 
	
 &BR))d%%c3/  b)	 *) ')))s   0B  Bc                    \         R  4       pV P                  \        P                  R4      ;_uu_ 4        V! 4        RRR4       R#   + '       g   i     R# ; i)c                      \        \        P                  R 7      ;_uu_ 4        Rp RRR4       V #   + '       g   i     X # ; ir&  )r   r   THIS_DOES_NOT_EXISTr'  s    r)   moderror<TestLiftObj.test_objmode_gv_mod_attr_error.<locals>.moderrorQ  s0    U6677 8J 87Jr>  zQError handling objmode argument 'val'. Getattr cannot be resolved at compile-timeNr5  rd   rH  s   & r)   test_objmode_gv_mod_attr_error*TestLiftObj.test_objmode_gv_mod_attr_errorP  sS    		 
	 ##  :
 

 J
 
 
 
r9  c                    \         R  4       pV P                  \        P                  R4      ;_uu_ 4        V! 4        RRR4       R#   + '       g   i     R# ; i)c                      \        \        P                  \        P                  \        P                  R 7      ;_uu_ 4        Rp RpRpRRR4       \
        #   + '       g   i     \
        # ; i)v1v2v3r)  N)r   r   rX  rG  float32r(  rO  s      r)   rH  ETestLiftObj.test_objmode_gv_mod_attr_error_multiple.<locals>.moderror^  sQ    EJJ5+D+D!MM+ +	+
 J+ +
 Js   AA+	zPError handling objmode argument 'v2'. Getattr cannot be resolved at compile-timeNr5  rJ  s   & r)   'test_objmode_gv_mod_attr_error_multiple3TestLiftObj.test_objmode_gv_mod_attr_error_multiple]  sS    		 
	 ##  :
 

 J
 
 
 
r9  c                   a R  o\        S4      R 4       p\        V3R l4       pV P                  V! 4       \        P                  ! ^
4      P                  \        P                  4      4       R# )c                      R # rQ   r3   r3   r+   r)   r  >TestLiftObj.test_objmode_closure_type_in_overload.<locals>.foon  r  r+   c                  B   a \         P                  R ,          oV3R lp V # )NNNc                     < \        SR 7      ;_uu_ 4        \        P                  ! ^
4      P                  \        P                  4      p RRR4       V #   + '       g   i     X # ; ir  Nr   r  r   r!  r:  r   	shrubberys    r)   r  UTestLiftObj.test_objmode_closure_type_in_overload.<locals>.foo_overload.<locals>.implt  B    ++))B-..rzz:C ,
 ,+
   4AA%	r   r:  r  r`  s    @r)   r  GTestLiftObj.test_objmode_closure_type_in_overload.<locals>.foo_overloadq  s    a(I Kr+   c                     < S ! 4       # rQ   r3   r  s   r)   r
  >TestLiftObj.test_objmode_closure_type_in_overload.<locals>.barz  
    5Lr+   N)r   r   r   r  r   r!  r:  rd   r  r
  r  s   &  @r)   %test_objmode_closure_type_in_overload1TestLiftObj.test_objmode_closure_type_in_overloadm  s_    	 
#	 
	 
	 
	 	ryy}';';BJJ'GHr+   c                   a R  o\        S4      R 4       p\        V3R l4       pV P                  \        P                  R4      ;_uu_ 4        V! 4        RRR4       R#   + '       g   i     R# ; i)c                      R # rQ   r3   r3   r+   r)   r  DTestLiftObj.test_objmode_closure_type_in_overload_error.<locals>.foo  r  r+   c                  D   a \         P                  R ,          oV3R lp >V # )r[  c                     < \        SR 7      ;_uu_ 4        \        P                  ! ^
4      P                  \        P                  4      p RRR4       V #   + '       g   i     X # ; ir]  r^  r_  s    r)   r  [TestLiftObj.test_objmode_closure_type_in_overload_error.<locals>.foo_overload.<locals>.impl  rb  rc  rd  re  s    @r)   r  MTestLiftObj.test_objmode_closure_type_in_overload_error.<locals>.foo_overload  s     a(I Kr+   c                     < S ! 4       # rQ   r3   r  s   r)   r
  DTestLiftObj.test_objmode_closure_type_in_overload_error.<locals>.bar  ri  r+   zIError handling objmode argument 'out'. Freevar 'shrubbery' is not definedN)r   r   r6  r   r   rj  s   &  @r)   +test_objmode_closure_type_in_overload_error7TestLiftObj.test_objmode_closure_type_in_overload_error  ss    	 
#		 
		 
	 
	 ##2
 

 E
 
 
 
s   AA0	c                    \         R  4       pV P                  \        P                  R4      ;_uu_ 4        V! 4        RRR4       R#   + '       g   i     R# ; i)c                  |    \        ^R7      ;_uu_ 4        ^p RRR4       \        #   + '       g   i     \        # ; i)r6   )badN)r   r(  r  s    r)   rH  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.Nr5  rJ  s   & r)   test_objmode_invalid_use$TestLiftObj.test_objmode_invalid_use  sS    		 
	 ##  '
 
 J
 
 
 
r9  c                6  a \         P                  R ,          o\        V3R l4       pV! 4       w  r#pV P                  VR4       V P                  VR4       V P                  V\        P
                  ! ^4      P                  \        P                  4      4       R# )r[  c                     < \        R \        SR7      ;_uu_ 4        Rp T p\        P                  ! ^4      P	                  \        P
                  4      pRRR4       X XX3#   + '       g   i     L; i)r:  )t1t2t3    :(AN)r   r*  r  r   r!  int32)r  r  r  array_tys      r)   r  5TestLiftObj.test_objmode_multi_type_args.<locals>.foo  sX    
 I'h??YYq\((2 @ r2:	 @?s   8A!!A1	r  i  N)r   r  r   r   r  r   r!  )rd   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                  aaa	 R \         P                  3R\         P                  R,          3.p\        V4       ! R R\        4      4       o^pS! V4      o	R o\        S4      VV	3R l4       p\        V3R l4       pV! 4       pV P                  VS4       V P                  VP                  ^^4      ^4       \        P                  ! ^{\        P                  R7      ^,           pV P                  VP                  V4       R	# )
valuerj  r[  c                   L   a  ] tR tRt o R t]R 4       tR t]R 4       t	Rt
V tR# ).TestLiftObj.test_objmode_jitclass.<locals>.Bagi  c                h    Wn         \        P                  ! V\        P                  R 7      V n        R# )rI  N)r  r  zerosrS  rj  )rd   r  s   &&r)   __init__7TestLiftObj.test_objmode_jitclass.<locals>.Bag.__init__  s    "
XXe2::>
r+   c                .    V P                   P                  # rQ   )rj  sizerm   s   &r)   r  3TestLiftObj.test_objmode_jitclass.<locals>.Bag.size  s    zz&r+   c                    \        V P                  4       F"  pV P                  V;;,          V,          uu&   K$  	  V P                  # rQ   )rA   r  rj  )rd   r(  rC   s   && r)   	increment8TestLiftObj.test_objmode_jitclass.<locals>.Bag.increment  s1    tyy)AJJqMS(M *zz!r+   c                    W,           # rQ   r3   r<   s   &&r)   add2TestLiftObj.test_objmode_jitclass.<locals>.Bag.add  s	    ur+   )rj  r  N)r   r   r   r   r  propertyr  r  staticmethodr  r   r   r   s   @r)   Bagr    s7     ? ' '"
  r+   r  c                      R # rQ   r3   r3   r+   r)   r  .TestLiftObj.test_objmode_jitclass.<locals>.foo  r  r+   c                  0   <a SP                   oVV3R  lp V # )c                     < \        SR 7      ;_uu_ 4        S! ^{4      p V P                  ^4       RRR4       V #   + '       g   i     X # ; ir]  )r   r  )r   r  r`  s    r)   r  ETestLiftObj.test_objmode_jitclass.<locals>.foo_overload.<locals>.impl  s?    ++c(CMM!$ , 
 ,+ 
s	   :A	)_numba_type_)r  r`  r  mybags    @r)   r  7TestLiftObj.test_objmode_jitclass.<locals>.foo_overload  s    **I
 Kr+   c                     < S ! 4       # rQ   r3   r  s   r)   r
  .TestLiftObj.test_objmode_jitclass.<locals>.bar  ri  r+   rI  N)r   r  rS  r    objectr   r   r.  rc   r  r  r  r   rj  )
rd   specnr  r
  rF  	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                z    \        R R7      ;_uu_ 4        V ^
,          pRRR4       V#   + '       g   i     X# ; ir:  )outputNr  r9   r  s   & r)   case_objmode_cacheTestLiftObj.case_objmode_cache  s.    I&&VF ' '&r  c                  a \        . RO4      o\        V3R l4       pV P                  \        P                  4      ;_uu_ 4       pV! 4        RRR4       V P                  \        XP                  4      R4       R#   + '       g   i     L7; i)r6   c                  r   < \        SR 7      ;_uu_ 4        . ROp RRR4       V #   + '       g   i     X # ; i)r  Nr6   rs   rP  r  r  r  )r   ret_types    r)   test26TestLiftObj.test_objmode_reflected_list.<locals>.test2  s+    X&&% 'J '&J   %6	NzObjmode 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   r   rd   r  r   r  s   &  @r)   test_objmode_reflected_list'TestLiftObj.test_objmode_reflected_list  sn    /*		 
	
 v3344G 5  !3	
 54   A<<B	c                  a \        0 Rm4      o\        V3R l4       pV P                  \        P                  4      ;_uu_ 4       pV! 4        RRR4       V P                  \        XP                  4      R4       R#   + '       g   i     L7; i)r6   c                  r   < \        SR 7      ;_uu_ 4        0 Rmp RRR4       V #   + '       g   i     X # ; i))r  N   r6   rs   rP  r  r  r  )r  r  s    r)   r  5TestLiftObj.test_objmode_reflected_set.<locals>.test2
  s+    ))( *M *)Mr  NzObjmode context failed. Argument 'result' is declared as an unsupported type: reflected set\(int(32|64)\). Reflected types are not supported.r  r  r  s   &  @r)   test_objmode_reflected_set&TestLiftObj.test_objmode_reflected_set  sn    /*		 
	
 v3344G 5  !3	
 54r  c                V  a \         P                  ! \         P                  \         P                  4      o\        V3R  l4       pV P                  \        4      ;_uu_ 4       pV! 4        RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)c                  v   < \        SR 7      ;_uu_ 4        R^R^/p RRR4       V #   + '       g   i     X # ; i)resr-   r.   Nr  r  r  s    r)   test42TestLiftObj.test_objmode_typed_dict.<locals>.test4  s4    X&&AsA& 'J '&Js   '8	NzFcan't unbox a <class 'dict'> as a <class 'numba.typed.typeddict.Dict'>)
r   DictTypeunicode_typer"  r   r   r  r   r   r   rd   r  r   r  s   &  @r)   test_objmode_typed_dict#TestLiftObj.test_objmode_typed_dict  sv    >>%"4"4ekkB		 
	
 y))VG *9  !	
 *)s   !BB(	c                8  a \         P                  ! \         P                  4      o\        V3R  l4       pV P	                  \
        4      ;_uu_ 4       pV! 4        RRR4       V P                  \        XP                  4      R4       R#   + '       g   i     L7; i)c                  r   < \        SR 7      ;_uu_ 4        ^^.p RRR4       V #   + '       g   i     X # ; i)r  Nr  r  s    r)   r  2TestLiftObj.test_objmode_typed_list.<locals>.test4,  s/    X&&!f 'J '&Jr  NzLcan'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*  sq    >>%++.		 
	
 y))VG *  !@	
 *)s   B		B	c                    \         R  4       p\        P                  ! ^\        P                  4      P	                  R4      pVP                  V4      pV! V4      pV P                  W44       R# )c                     \         P                  ! R R7      ;_uu_ 4        V P                  R4      pRRR4       V#   + '       g   i     X# ; i)z
int64[::1]r)  r"  N)r  r   viewr<   s   & r)   r  1TestLiftObj.test_objmode_use_of_view.<locals>.foo=  s6    ..FF7O /H /.Hs	   <A	r:  N)r   r  onesr"  r  r  r   )rd   r  r-  expectedr   s   &    r)   test_objmode_use_of_view$TestLiftObj.test_objmode_use_of_view:  s[     
	 
	
 GGArxx %%i0;;q>!f.r+   r3   N)Ar   r   r   r   r   r   r  r  r%  r0  r?  rK  r   rT  rZ  rd  rl  rt  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  r"  r/  r7  rC  rK  rU  rk  rv  r|  r  r  r  r  r  r  r  r  r  r   r   r   s   @r)   r   r   8  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                     V ^
,          # rT   r3   r8   s   &r)   case_inner_pyfuncr  I  s    r6Mr+   c                 ~    \        R R7      ;_uu_ 4        \        V 4      pRRR4       V#   + '       g   i     X# ; ir  )r   r  r  s   & r)   r  r  M  s/    			"	""1% 
#M 
#	"Mr{  c                   D   a  ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
TestLiftObjCachingiS  c                P    \         P                  ! R \        P                  4       R# r   r   rm   s   &r)   r   TestLiftObjCaching.setUpV  r   r+   c                0    \         P                  ! 4        R # rQ   r   rm   s   &r)   r   TestLiftObjCaching.tearDownY  r   r+   c                   \        R R7      ! V4      pV P                  V! ^{4      R4       \        R R7      ! V4      pV P                  VP                  4       V P                  V! ^{4      R4       V P	                  VP                  4       R# )T)cacher)  N)r   rc   assertFalse_cache_hits
assertTrue)rd   r  firstseconds   &&  r)   checkTestLiftObjCaching.check\  sn    4 )sT*D!'*++,d+**+r+   c                .    R  pV P                  V4       R# )c                 z    \        R R7      ;_uu_ 4        V ^
,          pRRR4       V#   + '       g   i     X# ; ir  r  r  s   & r)   r   =TestLiftObjCaching.test_objmode_caching_basic.<locals>.pyfuncf  s.    	**R +M +*Mr  Nr  )rd   r   s   & r)   test_objmode_caching_basic-TestLiftObjCaching.test_objmode_caching_basice  s    	
 	

6r+   c                <   a R  oV3R lpV P                  V4       R# )c                     V ^
,          # r  r3   r8   s   &r)   other_pyfuncNTestLiftObjCaching.test_objmode_caching_call_closure_bad.<locals>.other_pyfuncn  s    r6Mr+   c                 z   < \        R R7      ;_uu_ 4        S! V 4      pRRR4       V#   + '       g   i     X# ; ir  r  )r9   r  r  s   & r)   r   HTestLiftObjCaching.test_objmode_caching_call_closure_bad.<locals>.pyfuncq  s/    	**%a +M +*Ms   	):	Nr  )rd   r   r  s   & @r)   %test_objmode_caching_call_closure_bad8TestLiftObjCaching.test_objmode_caching_call_closure_badm  s    		
 	

6r+   c                0    V P                  \        4       R # rQ   )r  r  rm   s   &r)   &test_objmode_caching_call_closure_good9TestLiftObjCaching.test_objmode_caching_call_closure_goodx  s    

%&r+   r3   N)r   r   r   r   r   r   r  r  r   r  r   r   r   s   @r)   r  r  S  s(     <!,	' 'r+   r  c                   2   a  ] tR tRt o R tR tR tRtV tR# )TestBogusContexti|  c           
     N   \        \        4      pV P                  \        P                  4      ;_uu_ 4       p\        WP                  V P                  V P                  / R 7       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)r   Nz*Undefined variable used as context manager)r*   rX   r   r   r   r   r   r   r   r   r   r   rd   rf   r   s   &  r)   test_undefined_global&TestBogusContext.test_undefined_global~  so    ^,v3344

2 5 	8  !		 54   .BB$	c           
     N   \        \        4      pV P                  \        P                  4      ;_uu_ 4       p\        WP                  V P                  V P                  / R 7       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)r   Nz"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  so    \*v3344

2 5 	0  !		 54r  c                   \         R  4       pV P                  \        P                  4      ;_uu_ 4       pV! 4        RRR4       \	        XP
                  4      pRpV P                  WC4       R#   + '       g   i     L:; i)c                  ^    \         ;_uu_ 4       p  R R R 4       R #   + '       g   i     R # ; irQ   )r   )bps    r)   r  ;TestBogusContext.test_with_as_fails_gracefully.<locals>.foo  s    2  rZ   NzGThe 'with (context manager) as (variable):' construct is not supported.)r   r   r   UnsupportedBytecodeErrorr   r   r   )rd   r  r   excstrr   s   &    r)   test_with_as_fails_gracefully.TestBogusContext.test_with_as_fails_gracefully  si    		 
	 v>>??6E @ V%%&c" @?s   A..A>	r3   N)	r   r   r   r   r	  r  r  r   r   r   s   @r)   r  r  |  s     		# #r+   r  c                   R   a  ] tR tRt o Rt]]P                  R 4       4       tRt	V t
R# )TestMisci  Fc                    \        4       '       g   V P                  R 4       R p. ROp\        W4      pV P                  V4       R# )zstrace support missingc                  (    \        R 4      R 4       p R# )zvoid()c                  |    \         P                  ! 4       ;_uu_ 4         R R R 4       R #   + '       g   i     R # ; irQ   r  r3   r+   r)   r   FTestMisc.test_no_fork_in_compilation.<locals>.force_compile.<locals>.f  s    ]]__ %___s   *;	N)r   )r   s    r)   force_compile;TestMisc.test_no_fork_in_compilation.<locals>.force_compile  s    (^ r+   N)forkcloneexecve)r   skipTestr   r  )rd   r  syscallsstrace_datas   &   r)   test_no_fork_in_compilation$TestMisc.test_no_fork_in_compilation  s@      !!MM23	 / ]5%r+   r3   N)r   r   r   r   _numba_parallel_test_r   r   run_test_in_subprocessr%  r   r   r   s   @r)   r  r    s-      "$$& % &r+   r  __main__)Nr   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   r   numba.core.utilsr   numba.experimentalr    r  r*   r4   r:   r>   rD   rG   rJ   rM   rO   rR   rU   rX   r  r\   r]   rX  r*  r_   r   r   r   r   r   r   r  r  r  r  r  r   mainr3   r+   r)   <module>r7     sA       ? Q Q : .  * 9 . . )" " " " ' ' "",	
 x 
 **6h 6,;( ;:9( 9..,& .,bN/*h N/b&'X &'R$#* $#N&x &@ zMMO r+   