+
    :i                         R t ^ RIt^ RIt^ RIHt ^ RIt^ RIHtH	t	H
t
Ht ^ RIHtHtHtHtHtHt ^ RIHtHtHtHtHtHtHtHt ^ RIHt ^ RIHtH t  ^ RI!H"t" ^ R	I#H$t$ ^ R
I%H&t&H't'H(t(H)t)H*t*H+t+ R#t,]! RR7      R 4       t-R t.]! ].RR7      R 4       t/ ! R R]&4      t0Rt1R t2 ! R R](]04      t3 ! R R](]04      t4 ! R R](]04      t5 ! R R]04      t6 ! R R](]04      t7 ! R R]&4      t8 ! R  R!]&4      t9]:R"8X  d   ]'Pv                  ! 4        R# R# )$zn
This tests the inline kwarg to @jit and @overload etc, it has nothing to do with
LLVM or low level inlining.
N)product)njittypeof	literallyprange)typesirir_utilscgutilserrorsutils)overloadoverload_methodoverload_attributeregister_modelmodelsmake_attribute_wrapper	intrinsicregister_jitable)InlineOptions)DefaultPassBuilderCompilerBase)InlineOverloads	signature)TestCaseunittestMemoryLeakMixinIRPreservingTestPipelineskip_parfors_unsupportedignore_internal_warningsalwaysinlinec                     V ^,           #     xs   &Z/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/tests/test_ir_inlining.py_global_funcr+   &   s    q5L    c                     V ^,           # r%   r'   r(   s   &r*   _global_defnr.   ,   s    q5Lr,   c                     \         # Nr.   r(   s   &r*   _global_overloadr2   0   s    r,   c                   <   a  ] tR t^5t o RtRRRR/tR tR tRtV t	R# )	InliningBaseFr!   Tneverc                H   VP                   P                  4        F  pVP                   Fp  p\        V\        P
                  4      '       g   K%  \        VP                  \        P                  4      '       g   KQ  VP                  P                  ^8X  g   Kn    R# 	  K  	  R# )   TF)blocksvaluesbody
isinstancer   AssignvalueFreeVar)selffunc_irblkstmts   &&  r*   sentinel_17_cost_model#InliningBase.sentinel_17_cost_model>   si     >>((*CdBII..!$**bjj99::++r1#'	 ! + r,   c                   VP                  R R4      pV'       g   Q hVP                  R^4      pV'       d   Q hVP                  4        F5  w  rg\        V\        4      '       g   Q h\        V\        4      '       d   K5  Q h	  \        \        R7      ! V4      pV P                  V! V!  V! V!  4       VP                  VP                  ^ ,          ,          P                  R,          p	\        P                  ! V	P                  4      V	n        V P                  '       d,   \        RP!                  ^PR4      4       V	P#                  4        VR8w  d&   V P                  \%        V	P                  4      V4       \'        \)        V	P                  P+                  4       4      4      p
V
P-                  4        Uu. uF  qNK  	  ppV'       g   Q hVP                  4        F  w  rgRpV F  p\/        VR	R4      R
8X  d3   V	P1                  VP2                  4      pWP4                  V8H  ,          pKG  \        P6                  ! V4      '       g   Ke  WP8                  P:                  V8H  ,          pK  	  V P=                  W8H  4       K  	  V	# u upi )inline_expectNblock_countpipeline_classpreserved_irFIR-SKIPFopcall)popitemsr;   strboolr   r   assertEqual	overloads
signaturesmetadatar	   simplify_CFGr8   _DEBUGprintcenterdumplennextiterr9   
find_exprsgetattrget_definitionfuncnameis_operator_or_getitemfn__name__assertFalse)r?   	test_implargskwargsrF   rG   kvj_funcfirblockr)   exprsfoundexpr	func_defns   &&*,            r*   checkInliningBase.checkK   s   

?D9}jj2z!'')DAa%%%%a&&&& * %=>yI 	D)64=9 v0034==nM**3::6
;;;%,,r3'(HHJ& S_k:T#**++-./ ",,./.q./u!'')DAE4u-7 # 2 2499 =I^^q00E44T::WW--22E  UZ( * 
 0s   3
Jr'   N)
rg   
__module____qualname____firstlineno__rY   inline_opt_as_boolrC   ru   __static_attributes____classdictcell____classdict__s   @r*   r4   r4   5   s(     F"D'59
	& &r,   r4     c                     a R oRV3R llp V # )i  c                   < W,           pV S,          p \         P                  ! V\         P                  R 7      pWV,           pRV,          p^ p	^ p
\         P                  ! V4      ^ 8  Ed3   Wx,          p\         P                  ! ^V^,           4      p\         P
                  ! W,
          4      WK,          ,           p\         P                  ! V^ ,          4      ^8  dH   \        V 4       F)  pV	^ ,          p	\         P                  ! V	4      ^8  g   K)   M	  W^,          ,          p	Wl,          p. p\        \        V4      4       FX  pVP                  VV,          4       V^8  d   ^{p^p
V^zV,
          8  d
   V
V,          p
V
V^ ,          \        ,           ,          p
KZ  	  VX,           X,           V
,           V,           V ,           V	,           # )dtype              ?)
npzeros	complex64absarangesqrtranger]   append_GLOBAL)abcdefghintrl   lmopqrs_FREEVARs   &&&&&              r*   foo_gen_involved.<locals>.foo{   sR   E	XHHQbll+EF66!9q=A		!QU#A&Avvad|aqAFAvvay1} " qT	AA3q6]1u9AA37{QQqTG^# # 1uqy1}q 1$q((r,   )   r   Nr'   )r   r   s    @r*   _gen_involvedr   x   s    H)@ Jr,   c                      a  ] tR t^t o R tR tR t]P                  ! R4      R 4       t	R t
R tR tR	 tR
 tR tR tR tR tR tR tR tR tRtV tR# )TestFunctionInliningc                b   a \        R R7      R 4       oV3R lpV P                  VRR/R7       R# )r5   r"   c                      R # r0   r'   r'   r,   r*   r   9TestFunctionInlining.test_basic_inline_never.<locals>.foo       r,   c                     < S ! 4       # r0   r'   r   s   r*   impl:TestFunctionInlining.test_basic_inline_never.<locals>.impl   
    5Lr,   r   FrF   Nr   ru   r?   r   r   s   & @r*   test_basic_inline_never,TestFunctionInlining.test_basic_inline_never   s3    	W		 
		

4u~
6r,   c                b   a \        R R7      R 4       oV3R lpV P                  VRR/R7       R# )r!   r"   c                      R # r0   r'   r'   r,   r*   r   :TestFunctionInlining.test_basic_inline_always.<locals>.foo   r   r,   c                     < S ! 4       # r0   r'   r   s   r*   r   ;TestFunctionInlining.test_basic_inline_always.<locals>.impl   r   r,   r   Tr   Nr   r   s   & @r*   test_basic_inline_always-TestFunctionInlining.test_basic_inline_always   s3    	X		 
		

4t}
5r,   c                R  aaa	 VVV	3R  lpR
p\        W"V4       F  w  r4p\        VR7      R 4       o	\        VR7      R 4       o\        VR7      R 4       oRV P                  V,          RV P                  V,          RV P                  V,          /pV P                  WR7       K  	  R	# )c                  6   < S! 4       p S! 4       pS! 4       pWV3# r0   r'   r)   yzbarbazr   s      r*   r   ;TestFunctionInlining.test_basic_inline_combos.<locals>.impl   !    AAA7Nr,   r"   c                      R # r0   r'   r'   r,   r*   r   :TestFunctionInlining.test_basic_inline_combos.<locals>.foo       r,   c                      R # r0   r'   r'   r,   r*   r   :TestFunctionInlining.test_basic_inline_combos.<locals>.bar   r   r,   c                      R # r0   r'   r'   r,   r*   r   :TestFunctionInlining.test_basic_inline_combos.<locals>.baz   r   r,   r   r   r   r   Nr!   r5   )r   r   rz   ru   )
r?   r   opts
inline_foo
inline_bar
inline_bazrF   r   r   r   s
   &      @@@r*   test_basic_inline_combos-TestFunctionInlining.test_basic_inline_combos   s    	 '29$d2K.JJ$ % $ % $ % #D$;$;J$G"D$;$;J$G"D$;$;J$GIM JJtJ9# 3Lr,   z$Need to work out how to prevent thisc                p   aa \        R R7      V3R l4       o^oVV3R lpV P                  VRR/R7       R# )r!   r"   c                 8   < V ^ 8X  d   ^# S! V ^,
          4       R#     Nr'   )r)   r   s   &r*   r   7TestFunctionInlining.test_recursive_inline.<locals>.foo   s    AvAE
r,   c                  `   < ^ p S^8  d
   V ^,          p S! ^4       V S8  d   V ^,          p R# R# r   r'   )r   r   r   s    r*   r   8TestFunctionInlining.test_recursive_inline.<locals>.impl   s4    A1uQF1uQ r,   r   Tr   Nr   )r?   r   r   r   s   & @@r*   test_recursive_inline*TestFunctionInlining.test_recursive_inline   s>     
X		 
	 	 	

4t}
5r,   c                (  aa	a
 R  pVV	V
3R lpRp\        W3V4       Fq  w  rEpV! V^
^4      o
V! V^^(4      oV! V^2^<4      o	RV P                  V,          RV P                  V,          RV P                  V,          /pV P                  W'R7       Ks  	  R# )c                 L   aaa S^,           o\        V R7      VVV3R l4       pV# )r   r"   c                     < S S^,           S3#    r'   r)   r   r   s   r*   rc   ITestFunctionInlining.test_freevar_bindings.<locals>.factory.<locals>.func   s    1q5!}$r,   )r   )r#   r)   r   rc   r   s   &ff @r*   factory;TestFunctionInlining.test_freevar_bindings.<locals>.factory   s(    BA % !%Kr,   c                  6   < S! 4       p S! 4       pS! 4       pWV3# r0   r'   r   s      r*   r   8TestFunctionInlining.test_freevar_bindings.<locals>.impl   r   r,   r   r   r   r   Nr   r   rz   ru   )r?   r   r   r   r   r   r   rF   r   r   r   s   &       @@@r*   test_freevar_bindings*TestFunctionInlining.test_freevar_bindings   s    		 '29$d2K.JJ*b"-C*b"-C*b"-C"D$;$;J$G"D$;$;J$G"D$;$;J$GIM JJtJ9 3Lr,   c                6    R  pV P                  VRR/R7       R# )c                      ^p \        V 4      #    )r+   r(   s    r*   r   6TestFunctionInlining.test_global_binding.<locals>.impl      A?"r,   r+   Tr   Nru   r?   r   s   & r*   test_global_binding(TestFunctionInlining.test_global_binding      	# 	

4'=
>r,   c                J   a ^RI Ho V3R lpV P                  VRR/R7       R# )r&   r   c                  0   < \         ^,           p S! 4       V 3#    _GLOBAL1r   r   s    r*   r   BTestFunctionInlining.test_inline_from_another_module.<locals>.impl      1A5!8Or,   r   Tr   N)inlining_usecasesr   ru   r?   r   r   s   & @r*   test_inline_from_another_module4TestFunctionInlining.test_inline_from_another_module
  !    *	 	

4t}
5r,   c                P   a ^ RI Hu Ho V3R lpV P                  VRR/R7       R# )r   Nc                  B   < \         ^,           p SP                  4       V 3# r   )r   r   r   iucs    r*   r   LTestFunctionInlining.test_inline_from_another_module_w_getattr.<locals>.impl      1A779a<r,   r   Tr   numba.tests.inlining_usecasestestsr   ru   r?   r   r  s   & @r*   )test_inline_from_another_module_w_getattr>TestFunctionInlining.test_inline_from_another_module_w_getattr  $    33	  	

4t}
5r,   c                R   a ^ RI p^ RIHo V3R lpV P                  VRR/R7       R# )r   Nc                  V   < \         ^,           p SP                  P                  4       V 3# r   )r   r   r   r   nts    r*   r   NTestFunctionInlining.test_inline_from_another_module_w_2_getattr.<locals>.impl#  &    1A''++-q00r,   r   Tr   r  numba.testsr  ru   r?   numbar   r  s   &  @r*   +test_inline_from_another_module_w_2_getattr@TestFunctionInlining.test_inline_from_another_module_w_2_getattr  $    , 	1 	

4t}
5r,   c                R   a R  pV! 4       oV3R lpV P                  VRR/R7       R# )c                  >   a ^RI Ho \        RR7      V3R l4       p V # )r&   r   r!   r"   c                     < S ! 4       # r0   r'   r   s   r*   tmp]TestFunctionInlining.test_inline_from_another_module_as_freevar.<locals>.factory.<locals>.tmp.  
    ur,   )r   r   r   )r!  r   s    @r*   r   PTestFunctionInlining.test_inline_from_another_module_as_freevar.<locals>.factory+  "    ." #Jr,   c                  0   < \         ^,           p S! 4       V 3# r   r   r   r   s    r*   r   MTestFunctionInlining.test_inline_from_another_module_as_freevar.<locals>.impl5  r   r,   r   Tr   Nr   )r?   r   r   r   s   &  @r*   *test_inline_from_another_module_as_freevar?TestFunctionInlining.test_inline_from_another_module_as_freevar)  ,    	 i	 	

4t}
5r,   c                \   a ^RI Ho V3R lpV! ^
^4      pV P                  VRR/R7       R# )r&   )baz_factoryc                 .   <a aa S! S 4      oV VV3R  lpV# )c                  @   < \         SS,          ,           p S! 4       V S3# r0   r   r   r   r   r   s    r*   r   YTestFunctionInlining.test_inline_w_freevar_from_another_module.<locals>.gen.<locals>.implB      q1u$ua{"r,   r'   )r   r   r   r   r-  s   ff @r*   genKTestFunctionInlining.test_inline_w_freevar_from_another_module.<locals>.gen?      a.C# Kr,   r   Tr   N)r   r-  ru   )r?   r3  r   r-  s   &  @r*   )test_inline_w_freevar_from_another_module>TestFunctionInlining.test_inline_w_freevar_from_another_module;  ,    2	 2r{

4t}
5r,   c                ,  a aaaa V 3R  lpV 3R lpR F;  w  oo\        VR7      V3R l4       oVV3R lpS P                  V^
RS^8H  /R7       K=  	  R F;  w  oo\        VR7      V3R l4       oVV3R lpS P                  V^
R	S^8H  /R7       K=  	  R
# )c                    < SP                  V \        P                  4       SP                  V P                  R 4       SP                  V4      # rO   assertIsInstancer   ExprrT   rN   rC   rs   caller_infocallee_infor?   s   &&&r*   s17_caller_modelCTestFunctionInlining.test_inlining_models.<locals>.s17_caller_modelL  <    !!$0TWWf-..{;;r,   c                    < SP                  V \        P                  4       SP                  V P                  R 4       SP                  V4      # r;  r<  r?  s   &&&r*   s17_callee_modelCTestFunctionInlining.test_inlining_models.<locals>.s17_callee_modelQ  rD  r,   r"   c                     < S # r0   r'   callees   r*   r   6TestFunctionInlining.test_inlining_models.<locals>.fooY      r,   c                 :   < V S,           pS! 4       pV^,           V3# r   r'   r   r)   r   callerr   s   &  r*   r   7TestFunctionInlining.test_inlining_models.<locals>.impl]       JE1uaxr,   r   r   c                     < S # r0   r'   rI  s   r*   r   6TestFunctionInlining.test_inlining_models.<locals>.barg  rL  r,   c                 :   < V S,           pS! 4       pV^,           V3# r   r'   r   r)   r   r   rO  s   &  r*   r   rP  k  rQ  r,   r   N)   r7   r7   rW  r   )r?   rB  rF  r   r   rJ  rO  r   s   f   @@@@r*   test_inlining_models)TestFunctionInlining.test_inlining_modelsJ  s    	<
	< 3NFF)* + 
 JJtRv|/DJE 3 3NFF)* + 
 JJtRv|/DJE 3r,   c                d   a \        R R7      R 4       oV3R lpV P                  VRR/^R7       R# )r!   r"   c                      ^# r   r'   r'   r,   r*   r   9TestFunctionInlining.test_inline_inside_loop.<locals>.foos      r,   c                  L   < R p \        ^4       F  pV S! 4       ,          p K  	  V # )        r   )accr   r   s     r*   r   :TestFunctionInlining.test_inline_inside_loop.<locals>.implw  s&    C1Xsu Jr,   r   TrF   rG   Nr   r   s   & @r*   test_inline_inside_loop,TestFunctionInlining.test_inline_inside_loopr  s7    	X		 
		 	

4t}!
Dr,   c                d   a \        R R7      R 4       oV3R lpV P                  VRR/^R7       R# )r!   r"   c                      ^# r]  r'   r'   r,   r*   r   HTestFunctionInlining.test_inline_inside_closure_inside_loop.<locals>.foo  r_  r,   c                  V   < R p \        ^4       F  pV3R lpW! 4       ,          p K  	  V # )ra  c                      < S ! 4       ^,           #    r'   r   s   r*   r   VTestFunctionInlining.test_inline_inside_closure_inside_loop.<locals>.impl.<locals>.bar  s    519$r,   rb  )rc  r   r   r   s      r*   r   ITestFunctionInlining.test_inline_inside_closure_inside_loop.<locals>.impl  s-    C1X%su  Jr,   r   Tre  Nr   r   s   & @r*   &test_inline_inside_closure_inside_loop;TestFunctionInlining.test_inline_inside_closure_inside_loop  s7    	X		 
		 	

4t}!
Dr,   c                d   a \        R R7      R 4       oV3R lpV P                  VRR/^R7       R# )r!   r"   c                 ,   a  V 3R  lpV! 4       ^,           # )c                     < ^S ,           # r]  r'   )r   s   r*   r   bTestFunctionInlining.test_inline_closure_inside_inlinable_inside_closure.<locals>.foo.<locals>.baz  s    Avr,   r'   )r   r   s   f r*   r   UTestFunctionInlining.test_inline_closure_inside_inlinable_inside_closure.<locals>.foo  s    519r,   c                  6   <a ^	oVV3R lp V ! S^,           4      # )	   c                 0   < S! S4      ^,           V ,           # rm  r'   r)   r   r   s   &r*   r   cTestFunctionInlining.test_inline_closure_inside_inlinable_inside_closure.<locals>.impl.<locals>.bar      1vzA~%r,   r'   r   r   r   s    @r*   r   VTestFunctionInlining.test_inline_closure_inside_inlinable_inside_closure.<locals>.impl      A&q1u:r,   r   Tre  Nr   r   s   & @r*   3test_inline_closure_inside_inlinable_inside_closureHTestFunctionInlining.test_inline_closure_inside_inlinable_inside_closure  s7    	X		 
	
	 	

4t}!
Dr,   c           	     h  aaa \        R R7      ! \        4       4      o\        R R7      V3R l4       o\        R R7      VV3R l4       oV3R lp\        P                  R9   d   ^'pM1\        P                  R9   d   ^#pM\	        \        P                  4      hV P                  VRRRRRR/VR	7       R
# )r!   r"   c                    <a ^ oV3R lp\        V 4       F0  pSV! ^S,           4      S! RS^RV! S4      4      ,           ,          oK2  	  S# )r   c                    < V S,           # r0   r'   )r   rc  s   &r*   bizCTestFunctionInlining.test_inline_involved.<locals>.boz.<locals>.biz  s    3wr,          @y              (@rb  )jr  r)   rc  fortrans   &  @r*   boz6TestFunctionInlining.test_inline_involved.<locals>.boz  sH    C1Xs1s7|gb#q#s3x&HHH Jr,   c                    <a a ^ p\        ^4       F?  pS! ^^^^^4      oV V3R lpW! V4      ^,           S! V4      ,           S,           ,          pKA  	  VX! ^4      ,           # )r   c                 2   < ^S,           V ,           S,           # r]  r'   )r)   r   r!  s   &r*   r   CTestFunctionInlining.test_inline_involved.<locals>.foo.<locals>.baz  s    6A:++r,   rb  )r   rc  r   r   r!  r  r  s   f   @r*   r   6TestFunctionInlining.test_inline_involved.<locals>.foo  s]    C2YaAq!,,s1vzCF*S00  Q<r,   c                  6   <a ^	oVV3R lp V ! S^,           4      # )ry  c                 0   < S! S4      ^,           V ,           # rm  r'   r{  s   &r*   r   DTestFunctionInlining.test_inline_involved.<locals>.impl.<locals>.bar  r}  r,   r'   r~  s    @r*   r   7TestFunctionInlining.test_inline_involved.<locals>.impl  r  r,   r   Tr  r  re  N))r   r   )r      )r      ))r   
   )r   rW  )r   r   r   	PYVERSIONNotImplementedErrorru   )r?   r   bcr  r   r  s   &  @@@r*   test_inline_involved)TestFunctionInlining.test_inline_involved  s    h'8	X		 
	 
X		  
	 	 ??99B__ 22B%eoo66

4tUD(14(9FH 	 	Jr,   c                P  a
 \        R R7      R 4       o
\        \        R7      V
3R l4       pV P                  V! ^
^4      R4       VP                  VP                  ^ ,          ,          P
                  R,          p. pVP                  P                  4        F  pVP                   F  p\        V\        P                  4      '       g   K%  \        VP                  \        P                  4      '       g   KQ  VP                  P                  ^8X  g   Kn  VP                  V4       K  	  K  	  V P                  \        V4      ^4       V FX  pVP                   P"                  pV P%                  4       P'                  V P(                  4      pV R2p	V P+                  Wy4       KZ  	  R# )	r!   r"   c                 (    ^p^
pW,           V ,           #    r'   )r   r)   r   s   &  r*   r   =TestFunctionInlining.test_inline_renaming_scheme.<locals>.bar  s    AA519r,   rH   c                 $   < S! V 4      S! V4      3# r0   r'   )r   r   r   s   &&r*   r   =TestFunctionInlining.test_inline_renaming_scheme.<locals>.foo      q63q6>!r,   rJ   z__locals__bar_v[0-9]+.xN)   #   )r   r   rT   rU   rV   rW   r8   r9   r:   r;   r   r<   r=   Constr   r]   targetrd   idlstriprw   assertRegex)r?   r   r@   storerA   rB   r   rd   basenameregexr   s   &         @r*   test_inline_renaming_scheme0TestFunctionInlining.test_inline_renaming_scheme  sB    
X		 
	
 
5	6	" 
7	" 	Rh/ --q 12;;NK>>((*CdBII..!$**bhh77::++q0!LL.	 ! + 	UQ'A88==Dwwy''8H z!89ET)	 r,   r'   N)rg   rw   rx   ry   r   r   r   r   skipr   r   r   r  r  r  r)  r6  rY  rf  rq  r  r  r  r{   r|   r}   s   @r*   r   r      s     76:: ]]9:6 ;6*::?66	66$6&FPEEE )JV#* #*r,   r   c                   &   a  ] tR tRt o R tRtV tR# )TestRegisterJitableInliningi  c                b   a \        R R7      R 4       oV3R lpV P                  VRR/R7       R# )r!   r"   c                      ^# r%   r'   r'   r,   r*   r   FTestRegisterJitableInlining.test_register_jitable_inlines.<locals>.foo  s    r,   c                     < S ! 4        R # r0   r'   r   s   r*   r   GTestRegisterJitableInlining.test_register_jitable_inlines.<locals>.impl  s    Er,   r   Tr   N)r   ru   r   s   & @r*   test_register_jitable_inlines9TestRegisterJitableInlining.test_register_jitable_inlines  s5    		*	 
+		 	

4t}
5r,   r'   N)rg   rw   rx   ry   r  r{   r|   r}   s   @r*   r  r    s     	6 	6r,   r  c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )TestOverloadInliningi  c                j   a R  o\        SRR7      R 4       pV3R lpV P                  VRR/R7       R# )	c                      R # r0   r'   r'   r,   r*   r   9TestOverloadInlining.test_basic_inline_never.<locals>.foo       r,   r5   r"   c                      R  p V # )c                      R # r0   r'   r'   r,   r*   foo_implTTestOverloadInlining.test_basic_inline_never.<locals>.foo_overload.<locals>.foo_impl      r,   r'   )r  s    r*   foo_overloadBTestOverloadInlining.test_basic_inline_never.<locals>.foo_overload  s    Or,   c                     < S ! 4       # r0   r'   r   s   r*   r   :TestOverloadInlining.test_basic_inline_never.<locals>.impl	  r   r,   r   Fr   Nr   ru   r?   r  r   r   s   &  @r*   r   ,TestOverloadInlining.test_basic_inline_never  s>    	 
#g	&	 
'	
	 	

4u~
6r,   c                j   a R  o\        SRR7      R 4       pV3R lpV P                  VRR/R7       R# )	c                      R # r0   r'   r'   r,   r*   r   :TestOverloadInlining.test_basic_inline_always.<locals>.foo  r  r,   r!   r"   c                      R  p V # )c                      R # r0   r'   r'   r,   r*   r   QTestOverloadInlining.test_basic_inline_always.<locals>.foo_overload.<locals>.impl  r  r,   r'   r   s    r*   r  CTestOverloadInlining.test_basic_inline_always.<locals>.foo_overload  s    Kr,   c                     < S ! 4       # r0   r'   r   s   r*   r   ;TestOverloadInlining.test_basic_inline_always.<locals>.impl  r   r,   r   Tr   Nr  r  s   &  @r*   r   -TestOverloadInlining.test_basic_inline_always  s>    	 
#h	'	 
(	
	 	

4t}
5r,   c                j   a R  o\        SRR7      R 4       pV3R lpV P                  VRR/R7       R# )	c                     W,           # r0   r'   r   r   s   &&r*   r   BTestOverloadInlining.test_inline_always_kw_no_default.<locals>.foo   s	    5Lr,   r!   r"   c                     R  # )c                     W,           # r0   r'   r  s   &&r*   <lambda>]TestOverloadInlining.test_inline_always_kw_no_default.<locals>.overload_foo.<locals>.<lambda>%  s    r,   r'   r  s   &&r*   overload_fooKTestOverloadInlining.test_inline_always_kw_no_default.<locals>.overload_foo#  s    %%r,   c                     < S ! ^^R7      # )r   r   r'   r   s   r*   r   CTestOverloadInlining.test_inline_always_kw_no_default.<locals>.impl'  s    qA;r,   r   Tr   Nr  r?   r  r   r   s   &  @r*    test_inline_always_kw_no_default5TestOverloadInlining.test_inline_always_kw_no_default  s>    	 
#h	'	& 
(	&	 	

4t}
5r,   c                r  aa R  pR pR oV P                  4       w  po\        VRS4       \        VRS4       \        \        P                  RR7      VV3R l4       p\        \        P
                  RR7      VV3R	 l4       pV P                  W! 4       R
R/R7       V P                  W#! 4       RR/R7       R# )c                     V ) # r0   r'   r(   s   &r*   impl_inlineETestOverloadInlining.test_inline_operators_unary.<locals>.impl_inline.  	    2Ir,   c                     V 5# r0   r'   r(   s   &r*   impl_noinlineGTestOverloadInlining.test_inline_operators_unary.<locals>.impl_noinline1  r  r,   c                     R # Tr'   r(   s   &r*   r  BTestOverloadInlining.test_inline_operators_unary.<locals>.<lambda>4  s    Tr,   __neg____pos__r!   r"   c                 0   < \        V S4      '       d   S# R # r0   r;   r)   	DummyTypedummy_unary_impls   &r*   overload_dummy_negLTestOverloadInlining.test_inline_operators_unary.<locals>.overload_dummy_neg9      !Y'''' (r,   r5   c                 0   < \        V S4      '       d   S# R # r0   r  r  s   &r*   overload_dummy_posLTestOverloadInlining.test_inline_operators_unary.<locals>.overload_dummy_pos>  r  r,   negTr   posFN)make_dummy_typesetattrr   operatorr   r  ru   )r?   r  r  Dummyr  r  r  r  s   &     @@r*   test_inline_operators_unary0TestOverloadInlining.test_inline_operators_unary,  s    		 *//1yy"23y"23	(,,x	0	( 
1	( 
(,,w	/	( 
0	( 	

;t}
E

=%'%
Hr,   c                r  aa R  pR pV P                  4       w  poR o\        VRS4       \        VRS4       \        \        P                  RR7      VV3R l4       p\        \        P
                  RR7      VV3R	 l4       pV P                  W! 4       R
R/R7       V P                  W#! 4       RR/R7       R# )c                     V ^8H  # r%   r'   r(   s   &r*   r  ETestOverloadInlining.test_inline_operators_binop.<locals>.impl_inlineH      6Mr,   c                     V ^8g  # r%   r'   r(   s   &r*   r  GTestOverloadInlining.test_inline_operators_binop.<locals>.impl_noinlineK  r  r,   c                     R # r  r'   r  s   &&r*   r  BTestOverloadInlining.test_inline_operators_binop.<locals>.<lambda>P  s    r,   __eq____ne__r!   r"   c                 0   < \        V S4      '       d   S# R # r0   r  r   r   r  dummy_binop_impls   &&r*   overload_dummy_eqKTestOverloadInlining.test_inline_operators_binop.<locals>.overload_dummy_eqT  r  r,   r5   c                 0   < \        V S4      '       d   S# R # r0   r  r  s   &&r*   overload_dummy_neKTestOverloadInlining.test_inline_operators_binop.<locals>.overload_dummy_neY  r  r,   eqTr   neFN)r  r  r   r  r  r  ru   )r?   r  r  r  r  r  r  r  s   &     @@r*   test_inline_operators_binop0TestOverloadInlining.test_inline_operators_binopF  s    		  //1y,x!12x!12	(++h	/	( 
0	( 
(++g	.	( 
/	( 	

;d|
D

=%'$
Gr,   c                  aa	 R  pR pV P                  4       w  poR o	\        VRS	4       \        VRS	4       \        \        P                  RR7      VV	3R l4       p\        \        P
                  RR7      VV	3R	 l4       p\        \        P                  RR7      VV	3R
 l4       p\        \        P                  RR7      VV	3R l4       pV P                  W! 4       RR/R7       V P                  W#! 4       RR/R7       R# )c                     V ^,          p R# r&   Nr'   r(   s   &r*   r  MTestOverloadInlining.test_inline_operators_inplace_binop.<locals>.impl_inlinec      FAr,   c                     V ^,          p R# r   r'   r(   s   &r*   r  OTestOverloadInlining.test_inline_operators_inplace_binop.<locals>.impl_noinlinef  r"  r,   c                     R # r  r'   r  s   &&r*   r  JTestOverloadInlining.test_inline_operators_inplace_binop.<locals>.<lambda>k  s    r,   __iadd____isub__r!   r"   c                 0   < \        V S4      '       d   S# R # r0   r  r   r   r  dummy_inplace_binop_impls   &&r*   overload_dummy_iaddUTestOverloadInlining.test_inline_operators_inplace_binop.<locals>.overload_dummy_iaddo      !Y''// (r,   r5   c                 0   < \        V S4      '       d   S# R # r0   r  r*  s   &&r*   overload_dummy_isubUTestOverloadInlining.test_inline_operators_inplace_binop.<locals>.overload_dummy_isubt  r.  r,   c                 0   < \        V S4      '       d   S# R # r0   r  r*  s   &&r*   overload_dummy_addTTestOverloadInlining.test_inline_operators_inplace_binop.<locals>.overload_dummy_add{  r.  r,   c                 0   < \        V S4      '       d   S# R # r0   r  r*  s   &&r*   overload_dummy_subTTestOverloadInlining.test_inline_operators_inplace_binop.<locals>.overload_dummy_sub  r.  r,   iaddTr   isubFN)	r  r  r   r  r8  r9  addsubru   )
r?   r  r  r  r,  r0  r3  r6  r  r+  s
   &       @@r*   #test_inline_operators_inplace_binop8TestOverloadInlining.test_inline_operators_inplace_binopa  s    		  //1y#4 z#;<z#;<	(--	1	0 
2	0 
(--	0	0 
1	0 
(,,x	0	0 
1	0 
(,,w	/	0 
0	0 	

;~
F

=%'&%
Ir,   c                  aa R  pR pV P                  4       w  poR o\        VRS4       \        \        P                  RR7      VV3R l4       pV P                  W! 4       ^RR/R	7       V P                  W#! 4       RR/R	7       R
# )c                     W,          # r0   r'   r)   idxs   &&r*   r   GTestOverloadInlining.test_inline_always_operators_getitem.<locals>.impl  	    6Mr,   c                     V ^,          # r%   r'   r(   s   &r*   impl_static_getitemVTestOverloadInlining.test_inline_always_operators_getitem.<locals>.impl_static_getitem      Q4Kr,   c                     R # r0   r'   objrA  s   &&r*   r  KTestOverloadInlining.test_inline_always_operators_getitem.<locals>.<lambda>      dr,   __getitem__r!   r"   c                 0   < \        V S4      '       d   S# R # r0   r  rJ  rA  r  dummy_getitem_impls   &&r*   overload_dummy_getitemYTestOverloadInlining.test_inline_always_operators_getitem.<locals>.overload_dummy_getitem      #y)))) *r,   getitemTr   Nr  r  r   r  rT  ru   r?   r   rE  r  rQ  r  rP  s   &    @@r*   $test_inline_always_operators_getitem9TestOverloadInlining.test_inline_always_operators_getitem  s    		  //1y2}&89	(""8	4	* 
5	* 	

4!It3D
E

&"+T!2 	 	4r,   c                  aa R  pR pV P                  4       w  poR o\        VRS4       \        \        P                  RR7      VV3R l4       pV P                  W! 4       ^RR/R	7       V P                  W#! 4       RR/R	7       R
# )c                     W,          # r0   r'   r@  s   &&r*   r   FTestOverloadInlining.test_inline_never_operators_getitem.<locals>.impl  rC  r,   c                     V ^,          # r%   r'   r(   s   &r*   rE  UTestOverloadInlining.test_inline_never_operators_getitem.<locals>.impl_static_getitem  rG  r,   c                     R # r0   r'   rI  s   &&r*   r  JTestOverloadInlining.test_inline_never_operators_getitem.<locals>.<lambda>  rL  r,   rM  r5   r"   c                 0   < \        V S4      '       d   S# R # r0   r  rO  s   &&r*   rQ  XTestOverloadInlining.test_inline_never_operators_getitem.<locals>.overload_dummy_getitem  rS  r,   rT  Fr   NrU  rV  s   &    @@r*   #test_inline_never_operators_getitem8TestOverloadInlining.test_inline_never_operators_getitem  s    		  //1y2}&89	(""7	3	* 
4	* 	

4!Iu3E
F

&"+U!3 	 	5r,   c                &  a R  o\        SRR7      R 4       pV3R lpV P                  \        4      ;_uu_ 4       pV P                  VRR/R7       RRR4       V P	                  R	\        XP                  4      4       R#   + '       g   i     L7; i)
c                      W^ ,          ,           # r   r'   r  s   &*r*   r   ;TestOverloadInlining.test_inline_stararg_error.<locals>.foo  s    t8Or,   r!   r"   c                     R  # )c                      W^ ,          ,           # rf  r'   r  s   &*r*   r  VTestOverloadInlining.test_inline_stararg_error.<locals>.overload_foo.<locals>.<lambda>  s
    qTr,   r'   r  s   &*r*   r  DTestOverloadInlining.test_inline_stararg_error.<locals>.overload_foo  s    ))r,   c                     < S ! ^^^4      # r   r'   r   s   r*   r   <TestOverloadInlining.test_inline_stararg_error.<locals>.impl  s    q!Q<r,   r   Tr   Nz-Stararg not supported in inliner for arg 1 *b)r   assertRaisesr  ru   assertInrR   	exception)r?   r  r   r   r   s   &   @r*   test_inline_stararg_error.TestOverloadInlining.test_inline_stararg_error  s}    	 
#h	'	* 
(	*	  233qJJtE4=J9 4 	E!++&	( 43s   B  B	c                j  a
aa V
VV3R  lpRp\        W"V4       F  w  r4pR oR o
R o\        SVR7      R 4       p\        S
VR7      R 4       p\        SVR7      R 4       pRV P                  V,          R	V P                  V,          R
V P                  V,          /p	V P                  WR7       K  	  R# )c                  6   < S! 4       p S! 4       pS! 4       pWV3# r0   r'   r   s      r*   r   ;TestOverloadInlining.test_basic_inline_combos.<locals>.impl  r   r,   c                      R # r0   r'   r'   r,   r*   r   :TestOverloadInlining.test_basic_inline_combos.<locals>.foo  r  r,   c                      R # r0   r'   r'   r,   r*   r   :TestOverloadInlining.test_basic_inline_combos.<locals>.bar  r  r,   c                      R # r0   r'   r'   r,   r*   r   :TestOverloadInlining.test_basic_inline_combos.<locals>.baz  r  r,   r"   c                      R  p V # )c                      R # r0   r'   r'   r,   r*   r   QTestOverloadInlining.test_basic_inline_combos.<locals>.foo_overload.<locals>.impl      r,   r'   r  s    r*   r  CTestOverloadInlining.test_basic_inline_combos.<locals>.foo_overload      r,   c                      R  p V # )c                      R # r0   r'   r'   r,   r*   r   QTestOverloadInlining.test_basic_inline_combos.<locals>.bar_overload.<locals>.impl  r  r,   r'   r  s    r*   bar_overloadCTestOverloadInlining.test_basic_inline_combos.<locals>.bar_overload  r  r,   c                      R  p V # )c                      R # r0   r'   r'   r,   r*   r   QTestOverloadInlining.test_basic_inline_combos.<locals>.baz_overload.<locals>.impl  r  r,   r'   r  s    r*   baz_overloadCTestOverloadInlining.test_basic_inline_combos.<locals>.baz_overload  r  r,   r   r   r   r   Nr   )r   r   rz   ru   )r?   r   r   r   r   r   r  r  r  rF   r   r   r   s   &         @@@r*   r   -TestOverloadInlining.test_basic_inline_combos  s    	 '29$d2K.JJ c*- .
 c*- .
 c*- .
 #D$;$;J$G"D$;$;J$G"D$;$;J$GIM JJtJ9A 3Lr,   c                J  aa	a
 VV	V
3R  lpRp\        W"V4       F  w  r4pR o
R oR o	RR lpV! S
^
^VR7       V! S^^(VR7       V! S	^<^PVR7       RV P                  V,          RV P                  V,          R	V P                  V,          /pV P                  WR
7       K  	  R# )c                  6   < S! 4       p S! 4       pS! 4       pWV3# r0   r'   r   s      r*   r   8TestOverloadInlining.test_freevar_bindings.<locals>.impl  r   r,   c                  2    ^
p ^pV ^,           pW^,           V3# r  r'   r   s      r*   r   7TestOverloadInlining.test_freevar_bindings.<locals>.foo  #    Fq5!}$r,   c                  2    ^p ^(pV ^,           pW^,           V3# )   r'   r   s      r*   r   7TestOverloadInlining.test_freevar_bindings.<locals>.bar	  r  r,   c                  2    ^<p ^PpV ^,           pW^,           V3# )<   r'   r   s      r*   r   7TestOverloadInlining.test_freevar_bindings.<locals>.baz  r  r,   Nc                 L   aaa S^,           o\        WR7      VVV3R l4       pR# )r   r"   c                     < VVV3R  lp V # )c                     < S S^,           S3# r   r'   r   s   r*   r   WTestOverloadInlining.test_freevar_bindings.<locals>.factory.<locals>.func.<locals>.impl  s     !1q5!},r,   r'   )r   r)   r   r   s    r*   rc   ITestOverloadInlining.test_freevar_bindings.<locals>.factory.<locals>.func  s    -Kr,   N)r   )r  r)   r   r#   rc   r   s   &ff& @r*   r   ;TestOverloadInlining.test_freevar_bindings.<locals>.factory  s#    F&0  1 r,   r"   r   r   r   r   r   r0   r   )r?   r   r   r   r   r   r   rF   r   r   r   s   &       @@@r*   r   *TestOverloadInlining.test_freevar_bindings  s    	 '29$d2K.JJ%%%  CR
3CR
3CR
3"D$;$;J$G"D$;$;J$G"D$;$;J$GIM JJtJ9O 3Lr,   c                6    R  pV P                  VRR/R7       R# )c                      ^p \        V 4      # r   r1   )r   s    r*   r   ?TestOverloadInlining.test_global_overload_binding.<locals>.impl*  r   r,   r.   Tr   Nr   r   s   & r*   test_global_overload_binding1TestOverloadInlining.test_global_overload_binding(  r   r,   c                J   a ^RI Ho V3R lpV P                  VRR/R7       R# )r&   r   c                  0   < \         ^,           p S! 4       V 3# r   r   r'  s    r*   r   BTestOverloadInlining.test_inline_from_another_module.<locals>.impl4  r   r,   r   Tr   N)r   r   ru   )r?   r   r   s   & @r*   r  4TestOverloadInlining.test_inline_from_another_module0  r  r,   c                P   a ^ RI Hu Ho V3R lpV P                  VRR/R7       R# )r   Nc                  B   < \         ^,           p SP                  4       V 3# r   )r   r   r  s    r*   r   LTestOverloadInlining.test_inline_from_another_module_w_getattr.<locals>.impl>  r	  r,   r   Tr   r
  r  s   & @r*   r  >TestOverloadInlining.test_inline_from_another_module_w_getattr:  r  r,   c                R   a ^ RI p^ RIHo V3R lpV P                  VRR/R7       R# )r   Nc                  V   < \         ^,           p SP                  P                  4       V 3# r   )r   r   r   r  s    r*   r   NTestOverloadInlining.test_inline_from_another_module_w_2_getattr.<locals>.implI  r  r,   r   Tr   r  r  s   &  @r*   r  @TestOverloadInlining.test_inline_from_another_module_w_2_getattrD  r  r,   c                R   a R  pV! 4       oV3R lpV P                  VRR/R7       R# )c                  >   a ^RI Ho \        RR7      V3R l4       p V # )r&   r  r!   r"   c                     < S ! 4       # r0   r'   r  s   r*   r!  ]TestOverloadInlining.test_inline_from_another_module_as_freevar.<locals>.factory.<locals>.tmpT  r#  r,   )r   r   r   )r!  r   s    @r*   r   PTestOverloadInlining.test_inline_from_another_module_as_freevar.<locals>.factoryQ  r%  r,   c                  0   < \         ^,           p S! 4       V 3# r   r   )r   bops    r*   r   MTestOverloadInlining.test_inline_from_another_module_as_freevar.<locals>.impl[  r   r,   r   Tr   Nr   )r?   r   r   r  s   &  @r*   r)  ?TestOverloadInlining.test_inline_from_another_module_as_freevarO  r+  r,   c                \   a ^RI Ho V3R lpV! ^
^4      pV P                  VRR/R7       R# )r&   )bop_factoryc                 .   <a aa S! S 4      oV VV3R  lpV# )c                  @   < \         SS,          ,           p S! 4       V S3# r0   r   r0  s    r*   r   YTestOverloadInlining.test_inline_w_freevar_from_another_module.<locals>.gen.<locals>.implh  r2  r,   r'   )r   r   r   r   r  s   ff @r*   r3  KTestOverloadInlining.test_inline_w_freevar_from_another_module.<locals>.gene  r5  r,   r   Tr   N)r   r  ru   )r?   r3  r   r  s   &  @r*   r6  >TestOverloadInlining.test_inline_w_freevar_from_another_modulea  r8  r,   c                H  a aaaa	 V 3R  lpV 3R lpR FB  w  ooV3R lo	\        S	VR7      V3R l4       pVV	3R lpS P                  V^
RS^8H  /R7       KD  	  R FB  w  ooV3R lo\        SVR7      V3R	 l4       pVV3R
 lpS P                  V^
RS^8H  /R7       KD  	  R# )c                    < SP                  V \        P                  4       SP                  V P                  R 4       SP                  VP                  4      # r;  r=  r   r>  rT   rN   rC   r@   r?  s   &&&r*   rB  CTestOverloadInlining.test_inlining_models.<locals>.s17_caller_modelr  B    !!$0TWWf-..{/B/BCCr,   c                    < SP                  V \        P                  4       SP                  V P                  R 4       SP                  VP                  4      # r;  r  r?  s   &&&r*   rF  CTestOverloadInlining.test_inlining_models.<locals>.s17_callee_modelw  r  r,   c                     < S # r0   r'   rI  s   r*   r   6TestOverloadInlining.test_inlining_models.<locals>.foo      r,   r"   c                     < V3R  lp V # )c                     < S # r0   r'   rI  s   r*   r   GTestOverloadInlining.test_inlining_models.<locals>.foo_ol.<locals>.impl      !Mr,   r'   r   rJ  s    r*   foo_ol9TestOverloadInlining.test_inlining_models.<locals>.foo_ol      "r,   c                 :   < V S,           pS! 4       pV^,           V3# r   r'   rN  s   &  r*   r   7TestOverloadInlining.test_inlining_models.<locals>.impl  rQ  r,   r   r   c                     < S # r0   r'   rI  s   r*   r   6TestOverloadInlining.test_inlining_models.<locals>.bar  r  r,   c                     < V3R  lp V # )c                     < S # r0   r'   rI  s   r*   r   GTestOverloadInlining.test_inlining_models.<locals>.bar_ol.<locals>.impl  r  r,   r'   r  s    r*   bar_ol9TestOverloadInlining.test_inlining_models.<locals>.bar_ol  r  r,   c                 :   < V S,           pS! 4       pV^,           V3# r   r'   rU  s   &  r*   r   r    rQ  r,   r   N))r  rW  rX  )rV  )rW  r  r  )
r?   rB  rF  r  r   r  r   rJ  rO  r   s
   f     @@@@r*   rY  )TestOverloadInlining.test_inlining_modelsp  s    	D
	D 3NFF c"23 4
 
 JJtRv|/DJE! 3& 3NFF c"23 4
 
 JJtRv|/DJE! 3r,   c           
       a R  o\        SRR7      R 4       p\        SRR7      R 4       pR p\        SVR7      R 4       pV3R lpV P                  VR	R
/^R7      p\        \        VP                  P                  4       4      4      ^,          pVP                  RR7       Uu. uF  qNK  	  p	pV P                  \        V	4      ^8H  4       VP                  \        P                  4       Uu. uF<  p\        \        VRR4      \        P                  4      '       g   K0  VP                  NK>  	  p
pV
 F  pV P!                  VP                  R4       K!  	  R# u upi u upi )c                 x    \        \        V 4      \        P                  4      '       d
   V R ,           # V ^,           # r   )r;   r   r   Floatr(   s   &r*   r   _TestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics.<locals>.bar  s)    &)U[[114x1ur,   r!   r"   c                 P    \        V \        P                  4      '       d   R  pV# R# )c                     V ^,           # r%   r'   r(   s   &r*   r   tTestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics.<locals>.bar_int_ol.<locals>.impl      q5Lr,   Nr;   r   Integerr)   r   s   & r*   
bar_int_olfTestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics.<locals>.bar_int_ol  "    !U]]++! ,r,   r5   c                 P    \        V \        P                  4      '       d   R  pV# R# )c                     V R ,           # r  r'   r(   s   &r*   r   vTestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics.<locals>.bar_float_ol.<locals>.impl  s    t8Or,   N)r;   r   r  r  s   & r*   bar_float_olhTestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics.<locals>.bar_float_ol  s"    !U[[))$ *r,   c                      R # r  r'   rj   s   *r*   always_inline_cost_modeltTestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics.<locals>.always_inline_cost_model      r,   c                 P    \        V \        P                  4      '       d   R  pV# R# )c                     V ^,           # r%   r'   r(   s   &r*   r   xTestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics.<locals>.bar_complex_ol.<locals>.impl  r  r,   N)r;   r   Complexr  s   & r*   bar_complex_oljTestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics.<locals>.bar_complex_ol  r  r,   c                  R   < S! ^4      p S! R4      pS! R4      pW,           V,           # )r&   gffffff@y              @r'   r   r   r   r   s      r*   r   `TestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics.<locals>.impl  s*    AACABA519r,   r   Fre  rO   )rN   r=   Nr   )r   ru   r^   r_   r8   rQ   r`   
assertTruer]   
find_instsr   r<   r;   ra   r  r=   assertNotEqual)r?   r  r  r  r  r   ro   rp   r)   callsconstsvalr   s   &           @r*   =test_multiple_overloads_with_different_inline_characteristicsRTestOverloadInlining.test_multiple_overloads_with_different_inline_characteristics  sO   
	 
#h	'	 
(	 
#g	&	 
'		 
#6	7	 
8		 jjeU^jK T#****,-.q1!,,,787q78E
a( $)#3#3BII#> F#>a7D 9288D !''#> FC		40  9Fs   $
E.-E Ec                   a R  pR o\        SRR7      ! V4       V3R lpRpV P                  W#RR/R7       R	 o\        SRR7      ! V4       R
pV P                  W#RR/R7       R# )c                     \        V \        P                  4      '       g   R  pV# V P                  R8X  d   R pV# V P                  R9   d   R pV# R# )c                     \        V 4      # r0   )r   r   s   &r*   foo_noopnTestOverloadInlining.test_overload_inline_always_with_literally_in_inlinee.<locals>.foo_ovld.<locals>.foo_noop  s    $U++r,   rR   c                     ^
# r  r'   r   s   &r*   foo_as_str_impluTestOverloadInlining.test_overload_inline_always_with_literally_in_inlinee.<locals>.foo_ovld.<locals>.foo_as_str_impl      r,   c                     ^#    r'   r   s   &r*   foo_as_num_impluTestOverloadInlining.test_overload_inline_always_with_literally_in_inlinee.<locals>.foo_ovld.<locals>.foo_as_num_impl  r  r,   N)int64float64)r;   r   StringLiteralliteral_value)r   r  r  r  s   &   r*   foo_ovld\TestOverloadInlining.test_overload_inline_always_with_literally_in_inlinee.<locals>.foo_ovld  sW    eU%8%899,""e+&&""&::&& ;r,   c                     ^
# r  r'   r   s   &r*   r   WTestOverloadInlining.test_overload_inline_always_with_literally_in_inlinee.<locals>.foo      r,   r!   r"   c                    < S! V 4      # r0   r'   )r   r   s   &r*   ri   ]TestOverloadInlining.test_overload_inline_always_with_literally_in_inlinee.<locals>.test_impl  s    u:r,   rR   r   Tr   c                     ^# r  r'   r   s   &r*   r   r    r   r,   r  Nr  )r?   r  ri   r   r   s   &   @r*   5test_overload_inline_always_with_literally_in_inlineeJTestOverloadInlining.test_overload_inline_always_with_literally_in_inlinee  sm    	'$	 	X&x0	 

9E4=
A	X&x0 

9E4=
Ar,   c                x   aa R oR o\        SRR7      V3R l4       pV3R lpV P                  VRRR /R7       R	# )
Tc                     R # r  r'   As   &r*   r   8TestOverloadInlining.test_inline_always_ssa.<locals>.foo	  r  r,   r!   r"   c                    < V3R  lpV# )c                    < Sp\        \        V 4      4       F#  pSpW,          '       d	   W,          pW,          pK%  	  V# r0   )r   r]   )r)  r   r   dummy
dummy_trues   &   r*   r   OTestOverloadInlining.test_inline_always_ssa.<locals>.foo_overload.<locals>.impl  s;    s1vA&Ett !JA	 '
 r,   r'   )r)  r   r.  s   & r*   r  ATestOverloadInlining.test_inline_always_ssa.<locals>.foo_overload  s     Kr,   c                  @   < S ! \         P                  ! . RO4      4      # )T)TFT)r   arrayr   s   r*   r   9TestOverloadInlining.test_inline_always_ssa.<locals>.impl  s    rxx 3455r,   rM   r   rG   rF   Nr  )r?   r  r   r.  r   s   &  @@r*   test_inline_always_ssa+TestOverloadInlining.test_inline_always_ssa  sG     
	 
#h	'
	 
(
		6 	

4VE4=
Ir,   c                  a R  o\        SRR7      V3R l4       p\        V3R l4       p\        P                  ! RR7      ;_uu_ 4       p\        P                  ! R\
        P                  4       \        4        V P                  V! 4       VP                  4       4       RRR4       V P                  \        X4      ^ 4       R#   + '       g   i     L-; i)c                  .    ^p V ^8  d   V ^,          p K  ^
# r  r'   r  s    r*   r   GTestOverloadInlining.test_inline_always_ssa_scope_validity.<locals>.bar!  s    Aa%ar,   r!   r"   c                     < S # r0   r'   r   s   r*   bar_implLTestOverloadInlining.test_inline_always_ssa_scope_validity.<locals>.bar_impl(  s    Jr,   c                     < S ! 4        R # r0   r'   r   s   r*   r   GTestOverloadInlining.test_inline_always_ssa_scope_validity.<locals>.foo,  s    Er,   T)recordN)r   r   warningscatch_warningssimplefilterr   NumbaIRAssumptionWarningr    rT   py_funcr]   )r?   r;  r   wr   s   &   @r*   %test_inline_always_ssa_scope_validity:TestOverloadInlining.test_inline_always_ssa_scope_validity  s    	 
#h	'	 
(	 
	 
	 $$D11Q!!(F,K,KL$&SUCKKM2 2 	Q# 21s   	ACC	r'   N)rg   rw   rx   ry   r   r   r  r  r  r<  rW  rb  rq  r   r   r  r  r  r  r)  r6  rY  r  r$  r5  rF  r{   r|   r}   s   @r*   r  r    s     76 6I4H6%JN4050("*:X1:f?66	66$60Fd61p(BTJ4$ $r,   r  c                      a a ] tR tRt oV 3R ltRR ltRR ltR tR tR t	R t
R	 tR
 tR tR tR tR tR tRtVtV ;t# )TestOverloadMethsAttrsInliningi:  c                L   < V P                  4        \        \        V `  4        R # r0   )r  superrI  setUp)r?   	__class__s   &r*   rL  $TestOverloadMethsAttrsInlining.setUp;  s    ,d9;r,   c                   \        \        R 7      ! V4      pV P                  V! V!  V4       VP                  VP                  ^ ,          ,          P
                  R,          pVP                  Vn        V P                  \        VP                  4      V4       V'       dO   VP                  P                  4        F.  p\        VP                  R4      4      p	V P                  V	4       K0  	  R# . p
VP                  P                  4        F$  pV
\        VP                  R4      4      ,          p
K&  	  V P                  V
4       R# )rH   rJ   rO   Nr   r   rT   rU   rV   rW   r8   r]   r9   listr`   rh   r  )r?   ri   rj   expectedrG   expects_inlinedrn   ro   rp   r  allcallss   &&&&&&     r*   check_method+TestOverloadMethsAttrsInlining.check_method?  s    %=>yI1 v0034==nMZZ
SZZ+6**,U--f56  ' -
 H**,D!1!1&!9:: -OOH%r,   c                   \        \        R 7      ! V4      pV P                  V! V!  V4       VP                  VP                  ^ ,          ,          P
                  R,          pVP                  Vn        V P                  \        VP                  4      V4       V'       dO   VP                  P                  4        F.  p\        VP                  R4      4      p	V P                  V	4       K0  	  R# . p
VP                  P                  4        F$  pV
\        VP                  R4      4      ,          p
K&  	  V P                  V
4       R# )rH   rJ   ra   NrP  )r?   ri   rj   rR  rG   rS  rn   ro   rp   getattrsallgetattrss   &&&&&&     r*   check_getattr,TestOverloadMethsAttrsInlining.check_getattrU  s    %=>yI1 v0034==nMZZ
SZZ+6**, 0 0 ;<  * -
 K**,tE$4$4Y$?@@ -OOK(r,   c                    V P                  4       w  r\        VR RR7      RR l4       pR pV P                  VV! 4       .R^R7       R# )	inline_methodr!   r"   Nc                     RR lpV# )Nc                 
    R W3# )THIS IS INLINEDr'   )rJ  r  val2s   &&&r*   getqTestOverloadMethsAttrsInlining.test_overload_method_default_args_always.<locals>._get_inlined_method.<locals>.getp  s    )355r,   NNr'   )rJ  r  ra  rb  s   &&& r*   _get_inlined_methoddTestOverloadMethsAttrsInlining.test_overload_method_default_args_always.<locals>._get_inlined_methodn  s    6Jr,   c                 H    V P                  ^{4      V P                  RR7      3# ){   A  )ra  r]  rJ  s   &r*   r   TTestOverloadMethsAttrsInlining.test_overload_method_default_args_always.<locals>.foot  s&    $$S)3+<+<#+<+FFFr,   )ri   rj   rR  rG   rd  ))r`  rh  N)r`  Nri  r  r   rU  )r?   r  r  re  r   s   &    r*   (test_overload_method_default_args_alwaysGTestOverloadMethsAttrsInlining.test_overload_method_default_args_alwaysk  s\    //1	OH	E	 
F	
	G 	'6 	 	
r,   c                   a V3R  lpV P                  4       w  r4\        VRVR7      R 4       pR pV P                  VV! 4       .R^SR7       R# )c                     < S# r0   r'   )rj   should_inlines   *r*   	costmodelKTestOverloadMethsAttrsInlining.make_overload_method_test.<locals>.costmodel  s	      r,   r]  r"   c                     R  pV# )c                 
    R V3# )THIS IS INLINED!!!r'   )rJ  r  s   &&r*   rb  bTestOverloadMethsAttrsInlining.make_overload_method_test.<locals>._get_inlined_method.<locals>.get  s    ,c22r,   r'   )rJ  r  rb  s   && r*   re  UTestOverloadMethsAttrsInlining.make_overload_method_test.<locals>._get_inlined_method  s    3Jr,   c                 $    V P                  ^{4      # )rh  rj  rk  s   &r*   r   ETestOverloadMethsAttrsInlining.make_overload_method_test.<locals>.foo  s    $$S))r,   ri   rj   rR  rG   rS  N)rw  rh  rm  )r?   rs  rr  r  r  re  r   s   &&f    r*   make_overload_method_test8TestOverloadMethsAttrsInlining.make_overload_method_test  sd    	!  //1	OI	F	 
G	
	* 	'0) 	 	
r,   c                ,    V P                  R RR7       R# r!   Trs  rr  Nr}  r?   s   &r*   'test_overload_method_cost_driven_alwaysFTestOverloadMethsAttrsInlining.test_overload_method_cost_driven_always  s    && 	' 	
r,   c                ,    V P                  R RR7       R# r5   Fr  Nr  r  s   &r*   &test_overload_method_cost_driven_neverETestOverloadMethsAttrsInlining.test_overload_method_cost_driven_never  s    && 	' 	
r,   c                .    V P                  R  RR7       R# )c                      R # r  r'   r  s   *r*   r  ]TestOverloadMethsAttrsInlining.test_overload_method_cost_driven_must_inline.<locals>.<lambda>      Dr,   Tr  Nr  r  s   &r*   ,test_overload_method_cost_driven_must_inlineKTestOverloadMethsAttrsInlining.test_overload_method_cost_driven_must_inline  s    &&( 	' 	
r,   c                .    V P                  R  RR7       R# )c                      R # Fr'   r  s   *r*   r  [TestOverloadMethsAttrsInlining.test_overload_method_cost_driven_no_inline.<locals>.<lambda>      Er,   Fr  Nr  r  s   &r*   *test_overload_method_cost_driven_no_inlineITestOverloadMethsAttrsInlining.test_overload_method_cost_driven_no_inline  s    &&) 	' 	
r,   c                    V P                  4       w  r4\        VR VR7      R 4       pR pV P                  VV! 4       .R^VR7       R# )inlinemer"   c                     R  pV# )c                     R # )MY INLINED ATTRSr'   rk  s   &r*   rb  _TestOverloadMethsAttrsInlining.make_overload_attribute_test.<locals>._get_inlineme.<locals>.get  s    )r,   r'   )rJ  rb  s   & r*   _get_inlinemeRTestOverloadMethsAttrsInlining.make_overload_attribute_test.<locals>._get_inlineme  s    *Jr,   c                     V P                   # r0   )r  rk  s   &r*   r   HTestOverloadMethsAttrsInlining.make_overload_attribute_test.<locals>.foo  s    <<r,   r  r|  N)r  r   rZ  )r?   rs  rr  r  r  r  r   s   &&&    r*   make_overload_attribute_test;TestOverloadMethsAttrsInlining.make_overload_attribute_test  s\    //1	Iz)	D	 
E	
	  	'') 	 	
r,   c                ,    V P                  R RR7       R# r  r  r  s   &r*   test_overload_attribute_always=TestOverloadMethsAttrsInlining.test_overload_attribute_always  s    )) 	* 	
r,   c                ,    V P                  R RR7       R# r  r  r  s   &r*   test_overload_attribute_never<TestOverloadMethsAttrsInlining.test_overload_attribute_never  s    )) 	* 	
r,   c                .    V P                  R  RR7       R# )c                      R # r  r'   r  s   *r*   r  ^TestOverloadMethsAttrsInlining.test_overload_attribute_costmodel_must_inline.<locals>.<lambda>  r  r,   Tr  Nr  r  s   &r*   -test_overload_attribute_costmodel_must_inlineLTestOverloadMethsAttrsInlining.test_overload_attribute_costmodel_must_inline  s    ))( 	* 	
r,   c                .    V P                  R  RR7       R# )c                      R # r  r'   r  s   *r*   r  \TestOverloadMethsAttrsInlining.test_overload_attribute_costmodel_no_inline.<locals>.<lambda>  r  r,   Fr  Nr  r  s   &r*   +test_overload_attribute_costmodel_no_inlineJTestOverloadMethsAttrsInlining.test_overload_attribute_costmodel_no_inline  s    ))) 	* 	
r,   r'   r  )rg   rw   rx   ry   rL  rU  rZ  rn  r}  r  r  r  r  r  r  r  r  r  r{   r|   __classcell__rM  r~   s   @@r*   rI  rI  :  sP     <&,),
(
.




(



 
r,   rI  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )TestGeneralInliningi  c                d    \        \        R R7      R 4       pR pV P                  VRR/R7       R# )r!   r"   c                     R# )FNr'   r(  s   &r*   overload_lenSTestGeneralInlining.test_with_inlined_and_noninlined_variants.<locals>.overload_len  s    r,   c                      \        . RO4      # )r   )r   r      )r]   r'   r,   r*   r   KTestGeneralInlining.test_with_inlined_and_noninlined_variants.<locals>.impl  s    y>!r,   r]   Fr   N)r   r]   ru   )r?   r  r   s   &  r*   )test_with_inlined_and_noninlined_variants=TestGeneralInlining.test_with_inlined_and_noninlined_variants  s8    
 
#h	'	$ 
(	$	" 	

4u~
6r,   c                r   a R
R lo\        SRR7      R
R l4       pV3R lpV P                  VRR/R7       R	# )r   c                      W,           V,           # r0   r'   r   r   r   s   &&&r*   r   1TestGeneralInlining.test_with_kwargs.<locals>.foo  s    519r,   r!   r"   c                     RR lpV# )r   c                      W,           V,           # r0   r'   r  s   &&&r*   r   HTestGeneralInlining.test_with_kwargs.<locals>.overload_foo.<locals>.impl  s    uqy r,   r   r  r'   )r   r   r   r   s   &&& r*   r  :TestGeneralInlining.test_with_kwargs.<locals>.overload_foo  s    !Kr,   c                     < S ! ^^
R7      # )r   r   r'   r   s   r*   r   2TestGeneralInlining.test_with_kwargs.<locals>.impl  s    qB<r,   r   Tr   Nr  r  r  s   &  @r*   test_with_kwargs$TestGeneralInlining.test_with_kwargs  s>    	 
#h	'	 
(	
	  	

4t}
5r,   c                n   a \        R R7      RR l4       oR	V3R llpV P                  V^^RR/R7       R# )
r!   r"   c                     W,           # r0   r'   r  s   &&&r*   r   2TestGeneralInlining.test_with_kwargs2.<locals>.bar  s	    5Lr,   c                 $   < S! W,           ^R7      # )r   r  r'   r   s   &&&r*   r   3TestGeneralInlining.test_with_kwargs2.<locals>.impl  s    qu##r,   r   Tr   N)r   ry  )rn  r  r   r   s   & @r*   test_with_kwargs2%TestGeneralInlining.test_with_kwargs2  s9    	X		 
		$ 	

4AeT]
;r,   c                h   a \        R R7      R	R l4       oV3R lpV P                  VRRR/R7       R# )
r!   r"   Nc                     Vf   ^{pW3# r0   r'   r  s   &&r*   r   @TestGeneralInlining.test_inlining_optional_constant.<locals>.bar  s    y6Mr,   c                  2   < S ! 4       S ! ^{4      S ! RR7      3# )rh  ri  r  r'   r   s   r*   r   ATestGeneralInlining.test_inlining_optional_constant.<locals>.impl  s    5#c(C#J..r,   rM   r   Tr4  rd  r   r   s   & @r*   test_inlining_optional_constant3TestGeneralInlining.test_inlining_optional_constant  s9     
X		 
	
	/ 	

4VE4=
Ir,   r'   N)
rg   rw   rx   ry   r  r  r  r  r{   r|   r}   s   @r*   r  r    s      7 6 	<J Jr,   r  c                   &   a  ] tR tRt o R tRtV tR# )TestInlineOptionsi  c                   \        R 4      pV P                  VP                  4       V P                  VP                  4       V P                  VP
                  4       V P                  VP                  R 4       \        R4      pV P                  VP                  4       V P                  VP                  4       V P                  VP
                  4       V P                  VP                  R4       R p\        V4      pV P                  VP                  4       V P                  VP                  4       V P                  VP
                  4       V P                  VP                  V4       R# )r!   r5   c                     V # r0   r'   r(   s   &r*   
cost_model0TestInlineOptions.test_basic.<locals>.cost_model&  s    Hr,   N)	r   r  is_always_inlinerh   is_never_inlinehas_cost_modelrT   r=   assertIs)r?   r!   r5   r  models   &    r*   
test_basicTestInlineOptions.test_basic  s   x(//0//0../x0g&//0--.--.g.	j)//0../,,-ekk:.r,   r'   N)rg   rw   rx   ry   r  r{   r|   r}   s   @r*   r  r    s     / /r,   r  c                   N   a  ] tR tRt o R tR tR tR tR t]	R 4       t
RtV tR	# )
TestInlineMiscIssuesi/  c                   a R  o\        SRR7      R 4       p\        RR7      V3R l4       p\        RR7      R 4       pV! \        P                  ! R	4      4       V! \        P                  ! R	4      4       R# )
c                     R # r0   r'   )r2  r   s   &&r*   output_factory;TestInlineMiscIssues.test_issue4691.<locals>.output_factory2  r  r,   r!   r"   c                 d    \        V \        P                  P                  4      '       d   R  pV# R# )c                 V    V P                   R ,          p\        P                  ! W!R7      # :r   NNr   )shaper   r   )r2  r   r  s   && r*   r   LTestInlineMiscIssues.test_issue4691.<locals>.ol_output_factory.<locals>.impl8  s    !KKOE88E77r,   N)r;   r   npytypesArray)r2  r   r   s   && r*   ol_output_factory>TestInlineMiscIssues.test_issue4691.<locals>.ol_output_factory5  s*    %!5!5668  7r,   T)nogilc                 ,   < S! W P                   4      pV# r0   r   )r2  outr  s   & r*   rf   /TestInlineMiscIssues.test_issue4691.<locals>.fn>  s     4CJr,   c                 h    \         P                  ! V P                  R ,          V P                  R7      # r  )r   r   r  r   r2  s   &r*   fn20TestInlineMiscIssues.test_issue4691.<locals>.fn2C  s    88EKKO5;;??r,   N)r  r  r  (   2   )r   r   r   ones)r?   r  rf   r  r  s   &   @r*   test_issue4691#TestInlineMiscIssues.test_issue46911  s}    	 
.	2	 
3	 
D		 
	 
D		@ 
	@ 	277'()BGG()*r,   c                   a \        R R7      R 4       o\         V3R l4       pV! \        P                  ! ^
4      4       R# )r!   r"   c                 >    V P                   ^8w  d   \        R4      hV # )r&   zInvalid number of dimensions)ndim
ValueErrorr  s   &r*   inlining5TestInlineMiscIssues.test_issue4693.<locals>.inliningL  s    zzQ !?@@Lr,   c                    < S! V 4      # r0   r'   )r2  r
  s   &r*   rf   /TestInlineMiscIssues.test_issue4693.<locals>.fnS  s    E?"r,   N)r   r   r   )r?   rf   r
  s   & @r*   test_issue4693#TestInlineMiscIssues.test_issue4693J  s@    	X		 
	 
	# 
	# 	288B<r,   c                  a \        R R7      R 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)r!   r"   c                      R p \        V 4      h)Something happened)r	  )msgs    r*   r
  5TestInlineMiscIssues.test_issue5476.<locals>.inlining\  s    &CS/!r,   c                     < S ! 4       # r0   r'   )r
  s   r*   rf   /TestInlineMiscIssues.test_issue5476.<locals>.fna  s    :r,   Nr  )r   rn  r	  ro  rR   rp  )r?   rf   raisesr
  s   &  @r*   test_issue5476#TestInlineMiscIssues.test_issue5476Y  st     
X		" 
	" 
	 
	 z**fD + 	*C0@0@,AB +*s    A77B	c                  aaa	a
  ! V	3R  lR4      o ! R R\         P                  4      o\        S4       ! R R\        P                  4      4       p\        SRR4       \        V3R l4       o
\        SR	R
7      V
3R l4       p\        SRR	R
7      R 4       p\        V3R l4       pRo	RpV! S	V4      pV P                  VS	V,          4       R# )c                   4   <a  ] tR tRt o R tV3R ltRtV tR# )2TestInlineMiscIssues.test_issue5792.<locals>.Dummyin  c                    Wn         R # r0   data)r?   r  s   &&r*   __init__;TestInlineMiscIssues.test_issue5792.<locals>.Dummy.__init__o  s     	r,   c                *   < SVP                   ,          # r0   r  )r?   otherr  s   &&r*   div6TestInlineMiscIssues.test_issue5792.<locals>.Dummy.divr  s    ejj((r,   r  N)rg   rw   rx   ry   r   r$  r{   r|   )r~   r  s   @r*   r  r  n  s     !) )r,   r  c                   2   a a ] tR tRt oV 3R ltRtVtV ;t# )6TestInlineMiscIssues.test_issue5792.<locals>.DummyTypeiu  c                P   < Wn         \        SV `	  R V P                    R2R7       R# )zDummy())rd   Nr  rK  r   )r?   r  rM  s   &&r*   r   ?TestInlineMiscIssues.test_issue5792.<locals>.DummyType.__init__v  s%     	 tyyk&; <r,   r  rg   rw   rx   ry   r   r{   r|   r  r  s   @@r*   r  r'  u  s     = =r,   r  c                   2   a a ] tR tRt oV 3R ltRtVtV ;t# );TestInlineMiscIssues.test_issue5792.<locals>.DummyTypeModeliz  c                F   < R VP                   3.p\        SV `	  WV4       R# )r  Nr*  )r?   dmmfe_typemembersrM  s   &&& r*   r   DTestInlineMiscIssues.test_issue5792.<locals>.DummyTypeModel.__init__|  s'    W\\*  w7r,   r'   r,  r  s   @@r*   DummyTypeModelr.  z  s     8 8r,   r4  r  _datac                 6   < R  pS! V4      p\        W14      pWB3# )c                    VP                   pVw  p\        P                  ! V4      ! W4      pWVn        V P                  '       d.   V P
                  P                  WP                  ^ ,          V4       VP                  4       # rf  )	return_typer
   create_struct_proxyr  
enable_nrtnrtincrefrj   	_getvalue)contextbuildersigrj   typr  r-  s   &&&&   r*   codegenHTestInlineMiscIssues.test_issue5792.<locals>.init_dummy.<locals>.codegen  sa    oo33C8J!
%%%KK&&wTB((r,   r   )	typingctxr  rB  ret_typr@  r  s   &&   r*   
init_dummy7TestInlineMiscIssues.test_issue5792.<locals>.init_dummy  s%    	)  oGG*C<r,   r!   r"   c                    < V3R  lpV# )c                    < S! V 4      # r0   r'   )r  rF  s   &r*   ctorITestInlineMiscIssues.test_issue5792.<locals>.dummy_overload.<locals>.ctor  s    !$''r,   r'   )r  rJ  rF  s   & r*   dummy_overload;TestInlineMiscIssues.test_issue5792.<locals>.dummy_overload  s    ( Kr,   r$  c                     R  pV# )c                 <    V P                   VP                   ,          # r0   )r5  )r?   r#  s   &&r*   r   GTestInlineMiscIssues.test_issue5792.<locals>.div_overload.<locals>.impl  s    zzEKK//r,   r'   )r?   r#  r   s   && r*   div_overload9TestInlineMiscIssues.test_issue5792.<locals>.div_overload  s    0 Kr,   c                 F   < S! V 4      pS! V4      pVP                  V4      # r0   )r$  )r  
other_datar-  r#  r  s   &&  r*   ri   6TestInlineMiscIssues.test_issue5792.<locals>.test_impl  s%    $KE*%E99U##r,   g      ?r  N)r   Typer   r   StructModelr   r   r   r   r   rT   )r?   r4  rL  rQ  ri   rT  resr  r  r  rF  s   &      @@@@r*   test_issue5792#TestInlineMiscIssues.test_issue5792j  s    	) 	)	=

 	=
 
		"	8V// 	8 
#	8 	y&':		  
	 " 
%	)	 
*	 
E(	;	 
<	 
	$ 
	$ 
j)dZ/0r,   c                   a  ! R R\         4      pR o\        SRR7      R 4       p\        VR7      V3R l4       pV P                  V! ^
4      R
4       R	# )zTSimilar to the above test_issue5792, checks mutation of the inlinee
IR is local onlyc                   &   a  ] tR tRt o R tRtV tR# );TestInlineMiscIssues.test_issue5824.<locals>.CustomCompileri  c                    \         P                  ! V P                  4      pVP                  \        \        4       VP                  4        V.# r0   )r   define_nopython_pipelinestateadd_pass_afterr   finalize)r?   pms   & r*   define_pipelinesLTestInlineMiscIssues.test_issue5824.<locals>.CustomCompiler.define_pipelines  s6    '@@L!!/?Ctr,   r'   N)rg   rw   rx   ry   rd  r{   r|   r}   s   @r*   CustomCompilerr]    s      r,   rf  c                     R # r0   r'   r(   s   &r*   r   0TestInlineMiscIssues.test_issue5824.<locals>.bar  s    r,   r!   r"   c                 P    \        V \        P                  4      '       d   R  pV# R# )c                     V R ,           # )g?r'   r(   s   &r*   r   ATestInlineMiscIssues.test_issue5824.<locals>.ol_bar.<locals>.impl  s    s7Nr,   Nr  r  s   & r*   ol_bar3TestInlineMiscIssues.test_issue5824.<locals>.ol_bar  s"    !U]]++# ,r,   rH   c                 $   < S! V 4      S! V 4      3# r0   r'   r   s   &r*   r   0TestInlineMiscIssues.test_issue5824.<locals>.foo  r  r,   N)皙&@rp  )r   r   r   rT   )r?   rf  rl  r   r   s   &   @r*   test_issue5824#TestInlineMiscIssues.test_issue5824  s^    	\ 		 
#h	'	 
(	 
^	,	" 
-	" 	R,/r,   c                  a \        R R7      R 4       o\        RR7      V3R l4       p\        P                  ! R	4      pV! V4       V P                  V^\        P                  ! V4      ,          4       \        RR7      R 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)
r!   r"   c                 f    \        V P                  4       F  pW;;,          ^,          uu&   K  	  R# r   )r   size)r)   r   s   & r*   r   0TestInlineMiscIssues.test_issue7380.<locals>.bar  s    166]	 #r,   T)parallelc                 j   < \        V P                  ^ ,          4       F  pS! W,          4       K  	  R# r   )r   r  )r   r   r   s   & r*   r   0TestInlineMiscIssues.test_issue7380.<locals>.foo  s#    AGGAJ'AD	 (r,   c                     \        V P                  ^ ,          4       F;  pW,          p\        VP                  4       F  pW!;;,          ^,          uu&   K  	  K=  	  R# r   )r   r  r   ru  )r   r   r)   s   &  r*   foo_bad4TestInlineMiscIssues.test_issue7380.<locals>.foo_bad  s=    AGGAJ'DqvvADAID ' (r,   Nz Overwrite of parallel loop index)r  r  )r   r   r  assertPreciseEqual	ones_likern  r   UnsupportedRewriteErrorro  rR   rp  )r?   r   r   r{  r   r   s   &    @r*   test_issue7380#TestInlineMiscIssues.test_issue7380  s     
X		 
	 
t		 
	 GGHA1r||A#67 
t		 
	 v==>>!AJ ? 	8#akk:JK ?>s   -	C%%C5	r'   N)rg   rw   rx   ry   r  r  r  rY  rq  r   r  r{   r|   r}   s   @r*   r  r  /  s7     +2C"D1L0: "L "Lr,   r  __main__i)<__doc__r  r@  	itertoolsr   numpyr   r  r   r   r   r   
numba.corer   r   r	   r
   r   r   numba.core.extendingr   r   r   r   r   r   r   r   numba.core.cpur   numba.core.compilerr   r   numba.core.typed_passesr   numba.core.typingr   numba.tests.supportr   r   r   r   r   r    r   r+   r.   r2   r4   r   r   r   r  r  rI  r  r  r  rg   mainr'   r,   r*   <module>r     s*  
     1 1 B B	 	 	 ) @ 3 '; ;  X 
 
,x( )<8 <@ #LN*?L N*b
6/< 6z$?L z$z^
\ ^
B9J/< 9Jx/ /0AL8 ALH zMMO r,   