§
    2@ÄjU@  ã                   ó  — d Z ddlZddlZddlZddlmZmZmZ ddl	m
Z
 ddlmZ ddlmZmZmZmZ ddlmZ ddlmZmZmZ dd	lmZmZmZmZ dd
lmZ ddlm Z! ddl"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z( ddl)Z) G d„ de)j(        ¦  «        Z* G d„ de)j(        ¦  «        Z+ G d„ de)j(        ¦  «        Z, G d„ de)j(        ¦  «        Z- G d„ de%e)j(        ¦  «        Z. G d„ de%e(¦  «        Z/ G d„ de)j(        ¦  «        Z0e1dk    r e)j2        ¦   «          dS dS )z"
Unspecified error handling tests
é    N)ÚjitÚnjitÚtypes)Úerrors)Ú	structref)ÚoverloadÚ	intrinsicÚoverload_methodÚoverload_attribute)ÚCompilerBase)ÚTranslateByteCodeÚ	FixupArgsÚIRProcessing)ÚNopythonTypeInferenceÚDeadCodeEliminationÚNoPythonBackendÚNativeLowering)ÚPassManager)Ú_err_reasons)Úskip_parfors_unsupportedÚoverride_configÚSerialMixinÚskip_unless_cffiÚskip_unless_scipyÚTestCasec                   ó   — e Zd Zd„ ZdS )ÚTestErrorHandlingBeforeLoweringc                 ó  — d„ }t           t          fD ]w}|                      t          j        ¦  «        5 }  ||¦  «        d¦  «         d d d ¦  «         n# 1 swxY w Y   d}|                      |t          |j        ¦  «        ¦  «         Œxd S )Nc                 ó   ‡— | dz   Šˆfd„}|S )z return the closure é   c                 ó   •— | ‰z   S ©N© )ÚxÚzs    €úOC:\Projects\Historical\venv\Lib\site-packages\numba/tests/test_errorhandling.pyÚinnerzmTestErrorHandlingBeforeLowering.test_unsupported_make_function_return_inner_func.<locals>.func.<locals>.inner#   s   ø€ Ø˜1‘u�ó    r#   )r$   r'   r%   s     @r&   Úfuncz^TestErrorHandlingBeforeLowering.test_unsupported_make_function_return_inner_func.<locals>.func   s*   ø€ à�A‘ˆAðð ð ð ð àˆLr(   r    z%Cannot capture the non-constant value)r   r   ÚassertRaisesr   ÚTypingErrorÚassertInÚstrÚ	exception)Úselfr)   ÚpipelineÚraisesÚexpecteds        r&   Ú0test_unsupported_make_function_return_inner_funczPTestErrorHandlingBeforeLowering.test_unsupported_make_function_return_inner_func   sÚ   € ð	ð 	ð 	õ �T˜	ð 	;ð 	;ˆHØ×"Ò"¥6Ô#5Ñ6Ô6ð "¸&Ø��˜‘”˜qÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð ?ˆHØ�MŠM˜(¥C¨Ô(8Ñ$9Ô$9Ñ:Ô:Ð:Ð:ð	;ð 	;s   ³AÁA	ÁA	N)Ú__name__Ú
__module__Ú__qualname__r3   r#   r(   r&   r   r      s#   € € € € € ð;ð ;ð ;ð ;ð ;r(   r   c                   ó   — e Zd Zd„ ZdS )ÚTestUnsupportedReportingc                 óü   — t           d„ ¦   «         }|                      t          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   d}|                      |t          |j        ¦  «        ¦  «         d S )Nc                  ó2   — t          j        g d¢¦  «         d S )N)r    é   é   )ÚnpÚ
asanyarrayr#   r(   r&   r)   zFTestUnsupportedReporting.test_unsupported_numpy_function.<locals>.func3   s   € åŒM˜'˜'˜'Ñ"Ô"Ð"Ð"Ð"r(   z4Use of unsupported NumPy function 'numpy.asanyarray'©r   r*   r   r+   r,   r-   r.   )r/   r)   r1   r2   s       r&   Útest_unsupported_numpy_functionz8TestUnsupportedReporting.test_unsupported_numpy_function1   s¾   € å	ð	#ð 	#ñ 
Œð	#ð ×Ò�vÔ1Ñ2Ô2ð 	°fØˆD‰FŒFˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð JˆØ�Š�h¥ FÔ$4Ñ 5Ô 5Ñ6Ô6Ð6Ð6Ð6ó   °AÁAÁAN)r4   r5   r6   r@   r#   r(   r&   r8   r8   /   s#   € € € € € ð
7ð 
7ð 
7ð 
7ð 
7r(   r8   c                   óT   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	d„ ¦   «         Z
d„ Zd	„ Zd
S )ÚTestMiscErrorHandlingc                 ó~   — t           d„ ¦   «         }t          j        dgt          j        ¬¦  «        } ||¦  «         d S )Nc                 ó   — d| z  S ©Né
   r#   ©r$   s    r&   ÚfnzHTestMiscErrorHandling.test_use_of_exception_for_flow_control.<locals>.fnE   s   € à�q‘5ˆLr(   g      ð?)Údtype)r   r=   ÚarrayÚfloat64)r/   rI   Úas      r&   Ú&test_use_of_exception_for_flow_controlz<TestMiscErrorHandling.test_use_of_exception_for_flow_control@   sH   € õ
 
ð	ð 	ñ 
Œð	õ ŒH�c�U¥¤Ð,Ñ,Ô,ˆØ
ˆˆ1‰Œˆˆˆr(   c                 óè   — d„ }d„ }||fD ]f}|                       t          ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         Œgd S )Nc                  ó    — t          d¦  «        ‚)NÚtest_string©Ú	Exceptionr#   r(   r&   Úfoo_commentedz_TestMiscErrorHandling.test_commented_func_definition_is_not_a_definition.<locals>.foo_commentedR   ó   € å˜MÑ*Ô*Ð*r(   c                  ó    — t          d¦  «        ‚)z> def docstring containing def might match function definition!rQ   rR   r#   r(   r&   Úfoo_docstringz_TestMiscErrorHandling.test_commented_func_definition_is_not_a_definition.<locals>.foo_docstringV   rU   r(   rQ   )r*   rS   r,   r-   r.   )r/   rT   rW   r)   r1   s        r&   Ú2test_commented_func_definition_is_not_a_definitionzHTestMiscErrorHandling.test_commented_func_definition_is_not_a_definitionL   sÙ   € ð	+ð 	+ð 	+ð	+ð 	+ð 	+ð # MÐ2ð 	@ð 	@ˆDØ×"Ò"¥9Ñ-Ô-ð °Ø�‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �MŠM˜-­¨VÔ-=Ñ)>Ô)>Ñ?Ô?Ð?Ð?ð		@ð 	@s   §>¾A	ÁA	c                 óT  —  G d„ dt           ¦  «        }t          |¬¦  «        d„ ¦   «         }|                      t          j        ¦  «        5 } |t          ddg¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   d}|                      |t          |j        ¦  «        ¦  «         d S )Nc                   ó   — e Zd Zd„ ZdS )úFTestMiscErrorHandling.test_use_of_ir_unknown_loc.<locals>.TestPipelinec                 óÌ  — d}t          |¦  «        }|                     t          d¦  «         |                     t          d¦  «         |                     t          d¦  «         |                     t
          d¦  «         |                     t          d¦  «         |                     t          d¦  «         |                     t          d¦  «         | 	                    ¦   «          |gS )	NÚbad_DCE_pipelinezanalyzing bytecodezfix up argszprocessing IRÚDCEznopython frontendznative loweringznopython mode backend)
r   Úadd_passr   r   r   r   r   r   r   Úfinalize)r/   ÚnameÚpms      r&   Údefine_pipelineszWTestMiscErrorHandling.test_use_of_ir_unknown_loc.<locals>.TestPipeline.define_pipelinesc   s½   € Ø)�Ý  Ñ&Ô&�Ø—’Õ-Ð/CÑDÔDÐDØ—’�I }Ñ5Ô5Ð5Ø—’�L¨/Ñ:Ô:Ð:ð —’Õ/°Ñ7Ô7Ð7à—’Õ1Ð3FÑGÔGÐGØ—’�NÐ,=Ñ>Ô>Ð>Ø—’�OÐ-DÑEÔEÐEØ—’‘”�Ø�t�r(   N)r4   r5   r6   rc   r#   r(   r&   ÚTestPipeliner[   b   s#   € € € € € ðð ð ð ð r(   rd   )Úpipeline_classc                 ó   — dS )Nr   r#   ©rM   s    r&   Úfz;TestMiscErrorHandling.test_use_of_ir_unknown_loc.<locals>.fs   s   € à�1r(   r    r;   z File "unknown location", line 0:)	r   r   r*   r   r+   Úiterr,   r-   r.   )r/   rd   rh   r1   r2   s        r&   Útest_use_of_ir_unknown_locz0TestMiscErrorHandling.test_use_of_ir_unknown_loc`   s  € ð	ð 	ð 	ð 	ð 	�<ñ 	ô 	ð 	õ" 
˜\Ð	*Ñ	*Ô	*ð	ð 	ñ 
+Ô	*ð	ð ×Ò�vÔ1Ñ2Ô2ð 	°fØˆA�d�A�a�5‰kŒk‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 6ˆØ�Š�h¥ FÔ$4Ñ 5Ô 5Ñ6Ô6Ð6Ð6Ð6s   ÁA3Á3A7Á:A7c                 óê   — |                       t          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   ddg}|D ]*}|                      |t	          |j        ¦  «        ¦  «         Œ+d S )NzThe use of az'in globals, is not supported as globals)r*   r   r+   r,   r-   r.   )r/   r)   r1   r2   Úexs        r&   Úcheck_write_to_globalsz,TestMiscErrorHandling.check_write_to_globals}   s¾   € Ø×Ò�vÔ1Ñ2Ô2ð 	°fØˆD‰FŒFˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð #Ð$MÐNˆØð 	5ð 	5ˆBØ�MŠM˜"�c &Ô"2Ñ3Ô3Ñ4Ô4Ð4Ð4ð	5ð 	5s    7·;¾;c                 óV   — ddl m} |                      t          |¦  «        ¦  «         d S )Nr   )Úglobal_reflected_write)Ú"numba.tests.errorhandling_usecasesro   rm   r   )r/   ro   s     r&   Ú*test_handling_of_write_to_reflected_globalz@TestMiscErrorHandling.test_handling_of_write_to_reflected_global…   s7   € ØMÐMÐMÐMÐMÐMØ×#Ò#¥DÐ)?Ñ$@Ô$@ÑAÔAÐAÐAÐAr(   c                 óV   — ddl m} |                      t          |¦  «        ¦  «         d S )Nr   )Úglobal_dict_write)rp   rs   rm   r   )r/   rs   s     r&   Ú+test_handling_of_write_to_typed_dict_globalzATestMiscErrorHandling.test_handling_of_write_to_typed_dict_global‰   s7   € ØHÐHÐHÐHÐHÐHØ×#Ò#¥DÐ):Ñ$;Ô$;Ñ<Ô<Ð<Ð<Ð<r(   c                 ó  — t          d¬¦  «        d„ ¦   «         }|                      t          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   d}|                      |t          |j        ¦  «        ¦  «         d S )NT)Úparallelc                  ó*   — t          d¦  «        D ]} Œd S rF   )Úprange)Úis    r&   ÚfoozPTestMiscErrorHandling.test_handling_forgotten_numba_internal_import.<locals>.foo�   s$   € å˜B‘Z”Zð ð �Øðð r(   zC'prange' looks like a Numba internal function, has it been importedr?   )r/   rz   r1   r2   s       r&   Ú-test_handling_forgotten_numba_internal_importzCTestMiscErrorHandling.test_handling_forgotten_numba_internal_import�   sÉ   € å	�tÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	ð ×Ò�vÔ1Ñ2Ô2ð 	°fØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð+ˆà�Š�h¥ FÔ$4Ñ 5Ô 5Ñ6Ô6Ð6Ð6Ð6ó   ¹AÁAÁAc                 ó(  — d„ }d}t          d¬¦  «        t          fD ]t}|                      t          j        ¦  «        5 }  ||¦  «        ¦   «          d d d ¦  «         n# 1 swxY w Y   |                      |t          |j        ¦  «        ¦  «         Œud S )Nc                  ó8   — d„ t          d¦  «        D ¦   «          d S )Nc              3   ó   K  — | ]}|V — Œd S r"   r#   )Ú.0r$   s     r&   ú	<genexpr>zdTestMiscErrorHandling.test_handling_unsupported_generator_expression.<locals>.foo.<locals>.<genexpr>�   s"   è è € Ð"Ð"�1ˆQÐ"Ð"Ð"Ð"Ð"Ð"r(   rG   )Úranger#   r(   r&   rz   zQTestMiscErrorHandling.test_handling_unsupported_generator_expression.<locals>.fooœ   s"   € Ø"Ð"�˜b™	œ	Ð"Ñ"Ô"Ð"Ð"Ð"r(   z-The use of yield in a closure is unsupported.T)Úforceobj)r   r   r*   r   ÚUnsupportedErrorr,   r-   r.   )r/   rz   r2   Údecr1   s        r&   Ú.test_handling_unsupported_generator_expressionzDTestMiscErrorHandling.test_handling_unsupported_generator_expression›   sà   € ð	#ð 	#ð 	#ð Cˆå Ð%Ñ%Ô%¥tÐ+ð 	;ð 	;ˆCØ×"Ò"¥6Ô#:Ñ;Ô;ð ¸vØ���C‘”‘
”
�
ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à�MŠM˜(¥C¨Ô(8Ñ$9Ô$9Ñ:Ô:Ð:Ð:ð	;ð 	;s   ¾AÁA"	Á%A"	c                 óü   — t           d„ ¦   «         }d}|                      t          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   |                      |t          |j        ¦  «        ¦  «         d S )Nc                  ó   — t           S r"   rg   r#   r(   r&   rz   zCTestMiscErrorHandling.test_handling_undefined_variable.<locals>.foo§   s   € åˆHr(   z"NameError: name 'a' is not definedr?   )r/   rz   r2   r1   s       r&   Ú test_handling_undefined_variablez6TestMiscErrorHandling.test_handling_undefined_variable¦   s»   € Ý	ð	ð 	ñ 
Œð	ð 8ˆà×Ò�vÔ1Ñ2Ô2ð 	°fØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�Š�h¥ FÔ$4Ñ 5Ô 5Ñ6Ô6Ð6Ð6Ð6s   ²A	Á	AÁAN)r4   r5   r6   rN   rX   rj   rm   rq   rt   r   r{   r†   r‰   r#   r(   r&   rC   rC   >   s®   € € € € € ð
ð 
ð 
ð@ð @ð @ð(7ð 7ð 7ð:5ð 5ð 5ðBð Bð Bð=ð =ð =ð ð7ð 7ñ Ôð7ð	;ð 	;ð 	;ð	7ð 	7ð 	7ð 	7ð 	7r(   rC   c                   ó|   — e Zd Zd„ Zd„ Zed„ ¦   «         Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zed„ ¦   «         Zd„ ZdS )ÚTestErrorMessagesc                 ó´  ‡‡— dŠd„ Št          ‰¦  «        ˆfd„¦   «         }t          ˆfd„¦   «         }|                      t          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }|                      t          d          	                    ¦   «         d         |¦  «         |                      ‰|¦  «         d S )NÚspecific_reasonc                  ó   — d S r"   r#   r#   r(   r&   rz   z2TestErrorMessages.test_specific_error.<locals>.foo¸   ó   € ØˆDr(   c                  ó,   •— t          j        ‰ ¦  «        ‚r"   )r   ÚNumbaValueError)Úgiven_reasons   €r&   Úol_fooz5TestErrorMessages.test_specific_error.<locals>.ol_foo»   s   ø€ åÔ(¨Ñ6Ô6Ð6r(   c                  ó   •—  ‰ ¦   «          d S r"   r#   ©rz   s   €r&   Úcall_fooz7TestErrorMessages.test_specific_error.<locals>.call_foo¿   ó   ø€ àˆC‰EŒEˆEˆEˆEr(   Úspecific_errorr   )
r   r   r*   r   r+   r-   r.   r,   Úerror_reasonsÚ
splitlines)r/   r“   r–   r1   Úexcstrrz   r’   s        @@r&   Útest_specific_errorz%TestErrorMessages.test_specific_error´   s5  øø€ à(ˆð	ð 	ð 	õ 
�#‰Œð	7ð 	7ð 	7ð 	7ñ 
Œð	7õ 
ð	ð 	ð 	ð 	ñ 
Œð	ð ×Ò�vÔ1Ñ2Ô2ð 	°fØˆH‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ �VÔ%Ñ&Ô&ˆØ�Š•mÐ$4Ô5×@Ò@ÑBÔBÀ1ÔEÀvÑNÔNÐNØ�Š�l FÑ+Ô+Ð+Ð+Ð+ó   ÁA*Á*A.Á1A.c                 ó8  ‡— d„ Št          ‰¦  «        d„ ¦   «         }t          ˆfd„¦   «         }|                      t          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }|                      d|¦  «         d S )Nc                  ó   — d S r"   r#   r#   r(   r&   rz   z2TestErrorMessages.test_no_match_error.<locals>.fooÌ   r�   r(   c                  ó   — d S r"   r#   r#   r(   r&   r“   z5TestErrorMessages.test_no_match_error.<locals>.ol_fooÏ   s   € à�4r(   c                  ó   •—  ‰ ¦   «          d S r"   r#   r•   s   €r&   r–   z7TestErrorMessages.test_no_match_error.<locals>.call_fooÓ   r—   r(   zNo match)r   r   r*   r   r+   r-   r.   r,   )r/   r“   r–   r1   r›   rz   s        @r&   Útest_no_match_errorz%TestErrorMessages.test_no_match_errorÊ   sú   ø€ ð	ð 	ð 	õ 
�#‰Œð	ð 	ñ 
Œð	õ 
ð	ð 	ð 	ð 	ñ 
Œð	ð ×Ò�vÔ1Ñ2Ô2ð 	°fØˆH‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ �VÔ%Ñ&Ô&ˆØ�Š�j &Ñ)Ô)Ð)Ð)Ð)ó   ÁA%Á%A)Á,A)c                 óâ  — t           d„ ¦   «         }|                      t          j        ¦  «        5 } |¦   «          ddd¦  «         n# 1 swxY w Y   t	          |j        ¦  «        }|                      t          d                              ¦   «         d         |¦  «         t          j
                             ddd¦  «        }d|› d	�}|                      |                     |¦  «        |¦  «         dS )
z¨ Checks that the reported source location for an overload is the
        overload implementation source, not the actual function source from the
        target library.c                  óD   — t           j                             d¦  «         d S )NÚchars)r=   ÚlinalgÚsvdr#   r(   r&   rz   zDTestErrorMessages.test_error_function_source_is_correct.<locals>.fooã   s   € åŒI�MŠM˜'Ñ"Ô"Ð"Ð"Ð"r(   Nr˜   r   Únumbar=   z	linalg.pyz'Overload in function 'svd_impl': File: ú:)r   r*   r   r+   r-   r.   r,   r™   rš   ÚosÚpathÚjoinÚformat)r/   rz   r1   r›   Úexpected_filer2   s         r&   Ú%test_error_function_source_is_correctz7TestErrorMessages.test_error_function_source_is_correctÝ   s  € õ 
ð	#ð 	#ñ 
Œð	#ð ×Ò�vÔ1Ñ2Ô2ð 	°fØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ �VÔ%Ñ&Ô&ˆØ�Š•mÐ$4Ô5×@Ò@ÑBÔBÀ1ÔEÀvÑNÔNÐNÝœŸš W¨d°KÑ@Ô@ˆØM¸]ÐMÐMÐMˆØ�Š�h—o’o mÑ4Ô4°fÑ=Ô=Ð=Ð=Ð=rA   c                 ó(  — t           d„ ¦   «         }|                      t          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   t	          |j        ¦  «        }|                      d|¦  «         |                      d|¦  «         d S )Nc                  ó   — ddz   S )NrM   r    r#   r#   r(   r&   rz   z<TestErrorMessages.test_concrete_template_source.<locals>.fooò   s   € à˜‘7ˆNr(   zOverload of function 'add'ú	No match.©r   r*   r   r+   r-   r.   r,   ©r/   rz   r1   r›   s       r&   Útest_concrete_template_sourcez/TestErrorMessages.test_concrete_template_sourceð   sÔ   € å	ð	ð 	ñ 
Œð	ð ×Ò�vÔ1Ñ2Ô2ð 	°fØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ �VÔ%Ñ&Ô&ˆà�ŠÐ2°FÑ;Ô;Ð;ð 	�Š�k 6Ñ*Ô*Ð*Ð*Ð*rA   c                 óü   — t           d„ ¦   «         }|                      t          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   t	          |j        ¦  «        }|                      d|¦  «         d S )Nc                  ó    — t          d¦  «        S ©Nr    )Úlenr#   r(   r&   rz   z<TestErrorMessages.test_abstract_template_source.<locals>.foo  s   € å�q‘6”6ˆMr(   zOverload of function 'len'r´   rµ   s       r&   Útest_abstract_template_sourcez/TestErrorMessages.test_abstract_template_source   s¾   € å	ð	ð 	ñ 
Œð	ð ×Ò�vÔ1Ñ2Ô2ð 	°fØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ �VÔ%Ñ&Ô&ˆØ�ŠÐ2°FÑ;Ô;Ð;Ð;Ð;rA   c                 óü   — t           d„ ¦   «         }|                      t          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   t	          |j        ¦  «        }|                      d|¦  «         d S )Nc                  ó*   — t          j        d ¦  «        S r"   )r=   Úangler#   r(   r&   rz   z<TestErrorMessages.test_callable_template_source.<locals>.foo  s   € å”8˜D‘>”>Ð!r(   z6No implementation of function Function(<function angler´   rµ   s       r&   Útest_callable_template_sourcez/TestErrorMessages.test_callable_template_source  sÉ   € å	ð	"ð 	"ñ 
Œð	"ð ×Ò�vÔ1Ñ2Ô2ð 	°fØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ �VÔ%Ñ&Ô&ˆØ�ŠÐNØñ	ô 	ð 	ð 	ð 	rA   c                 ó  ‡— d„ Št          ‰¦  «        d„ ¦   «         }t          ˆfd„¦   «         }|                      t          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }|                      d|¦  «         t          j	         
                    ddd¦  «        }d|› d	�}|                      |                     |¦  «        |¦  «         |                      d
|¦  «         d S )Nc                 ó   — d S r"   r#   rH   s    r&   ÚbarzDTestErrorMessages.test_overloadfunction_template_source.<locals>.bar  r�   r(   c                 ó   — d S r"   r#   rH   s    r&   Úol_barzGTestErrorMessages.test_overloadfunction_template_source.<locals>.ol_bar  ó   € àˆDr(   c                  ó   •—  ‰ d¦  «        S r¹   r#   )rÂ   s   €r&   rz   zDTestErrorMessages.test_overloadfunction_template_source.<locals>.foo"  s   ø€ à�3�q‘6”6ˆMr(   z
<numerous>r©   Útestsztest_errorhandling.pyz"Overload of function 'bar': File: rª   r³   )r   r   r*   r   r+   r-   r.   ÚassertNotInr«   r¬   r­   r,   r®   )r/   rÄ   rz   r1   r›   r¯   Úexpected_olrÂ   s          @r&   Ú%test_overloadfunction_template_sourcez7TestErrorMessages.test_overloadfunction_template_source  s`  ø€ ð	ð 	ð 	õ 
�#‰Œð	ð 	ñ 
Œð	õ 
ð	ð 	ð 	ð 	ñ 
Œð	ð ×Ò�vÔ1Ñ2Ô2ð 	°fØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ �VÔ%Ñ&Ô&ˆð 	×Ò˜ vÑ.Ô.Ð.ÝœŸš W¨gØ%<ñ>ô >ˆàK¸=ÐKÐKÐKˆØ�Š�k×(Ò(¨Ñ7Ô7¸Ñ@Ô@Ð@Ø�Š�k 6Ñ*Ô*Ð*Ð*Ð*r£   c                 óþ  ‡‡‡— dŠdŠt           ˆˆfd„¦   «         Št          ˆfd„¦   «         }|                      t          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }|                      t          d          	                    ¦   «         d         |¦  «         |                      ‰|¦  «         |                      ‰|¦  «         |                      d|¦  «         d S )Nzx must be literalzarray.ndim must be 1c                 óÖ   •— t          |t          j        ¦  «        st          j        ‰¦  «        ‚|j        dk    rt          j        ‰¦  «        ‚t          j        ||¦  «        }d„ }||fS )Nr    c                 ó   — d S r"   r#   )ÚcontextÚbuilderÚ	signatureÚargss       r&   ÚcodegenzSTestErrorMessages.test_intrinsic_template_source.<locals>.myintrin.<locals>.codegenB  ó   € Ø�r(   )Ú
isinstancer   ÚIntegerLiteralr   ÚRequireLiteralValueÚndimr‘   Úintp)Ú	typingctxr$   ÚarrÚsigrÒ   Úgiven_reason1Úgiven_reason2s        €€r&   ÚmyintrinzBTestErrorMessages.test_intrinsic_template_source.<locals>.myintrin8  sp   ø€ å˜a¥Ô!5Ñ6Ô6ð @ÝÔ0°Ñ?Ô?Ð?àŒx˜1Š}ˆ}ÝÔ,¨]Ñ;Ô;Ð;å”*˜Q Ñ$Ô$ˆCðð ð à˜�<Ðr(   c                  óH   •— t          j        d¦  «        }  ‰d| ¦  «         d S )N)r;   r;   r    )r=   Úzeros)rÚ   rÞ   s    €r&   Úcall_intrinzETestErrorMessages.test_intrinsic_template_source.<locals>.call_intrinF  s*   ø€ å”(˜6Ñ"Ô"ˆCØˆH�Q˜ÑÔÐÐÐr(   r˜   r   zIntrinsic in function)
r	   r   r*   r   r+   r-   r.   r,   r™   rš   )r/   rá   r1   r›   rÜ   rÝ   rÞ   s       @@@r&   Útest_intrinsic_template_sourcez0TestErrorMessages.test_intrinsic_template_source3  sR  øøø€ à+ˆØ.ˆå	ð	 ð 	 ð 	 ð 	 ð 	 ñ 
Œð	 õ 
ð	ð 	ð 	ð 	ñ 
Œð	ð ×Ò�vÔ1Ñ2Ô2ð 	°fØˆK‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ �VÔ%Ñ&Ô&ˆØ�Š•mÐ$4Ô5×@Ò@ÑBÔBÀ1ÔEÀvÑNÔNÐNØ�Š�m VÑ,Ô,Ð,Ø�Š�m VÑ,Ô,Ð,Ø�ŠÐ-¨vÑ6Ô6Ð6Ð6Ð6s   ÁA#Á#A'Á*A'c                 óB  — t          t          j        d¦  «        d„ ¦   «         }t          d„ ¦   «         }|                      t
          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }|  	                    d|¦  «         d S )NÚ
isnonsensec                 ó   — d S r"   r#   ©r/   s    r&   Úol_unicode_isnonsensezTTestErrorMessages.test_overloadmethod_template_source.<locals>.ol_unicode_isnonsenseW  rÅ   r(   c                  ó.   — d                      ¦   «          d S ©NÚabc©rä   r#   r(   r&   rz   zBTestErrorMessages.test_overloadmethod_template_source.<locals>.foo[  s   € à×ÒÑÔÐÐÐr(   ú,Overload of function 'ol_unicode_isnonsense')
r
   r   ÚUnicodeTyper   r*   r   r+   r-   r.   r,   ©r/   rç   rz   r1   r›   s        r&   Ú#test_overloadmethod_template_sourcez5TestErrorMessages.test_overloadmethod_template_sourceT  sé   € õ 
�Ô*¨LÑ	9Ô	9ð	ð 	ñ 
:Ô	9ð	õ 
ð	ð 	ñ 
Œð	ð ×Ò�vÔ1Ñ2Ô2ð 	°fØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ �VÔ%Ñ&Ô&ˆØ�ŠÐDÀfÑMÔMÐMÐMÐMr�   c                 óB  — t          t          j        d¦  «        d„ ¦   «         }t          d„ ¦   «         }|                      t
          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }|  	                    d|¦  «         d S )Nrä   c                 ó   — d S r"   r#   ræ   s    r&   rç   zWTestErrorMessages.test_overloadattribute_template_source.<locals>.ol_unicode_isnonsenseh  rÅ   r(   c                  ó   — dj          d S ré   rë   r#   r(   r&   rz   zETestErrorMessages.test_overloadattribute_template_source.<locals>.fool  s   € àÔÐÐÐr(   rì   )
r   r   rí   r   r*   r   r+   r-   r.   r,   rî   s        r&   Ú&test_overloadattribute_template_sourcez8TestErrorMessages.test_overloadattribute_template_sourcee  sé   € õ 
�EÔ-¨|Ñ	<Ô	<ð	ð 	ñ 
=Ô	<ð	õ 
ð	ð 	ñ 
Œð	ð ×Ò�vÔ1Ñ2Ô2ð 	°fØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ �VÔ%Ñ&Ô&ˆØ�ŠÐDÀfÑMÔMÐMÐMÐMr�   c                 ó  ‡— ddl mŠ t          ˆfd„¦   «         }|                      t          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }|                      d|¦  «         d S )Nr   ©Úc_cosc                  ó   •—  ‰ d¦  «         d S ©NrM   r#   rõ   s   €r&   rz   zMTestErrorMessages.test_external_function_pointer_template_source.<locals>.fooy  s   ø€ àˆE�#‰JŒJˆJˆJˆJr(   ú.Type Restricted Function in function 'unknown')	Únumba.tests.ctypes_usecasesrö   r   r*   r   r+   r-   r.   r,   )r/   rz   r1   r›   rö   s       @r&   Ú.test_external_function_pointer_template_sourcez@TestErrorMessages.test_external_function_pointer_template_sourcev  sÛ   ø€ Ø5Ð5Ð5Ð5Ð5Ð5å	ð	ð 	ð 	ð 	ñ 
Œð	ð ×Ò�vÔ1Ñ2Ô2ð 	°fØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ �VÔ%Ñ&Ô&ˆØ�ŠÐFÈÑOÔOÐOÐOÐOr|   c                 óD  ‡— ddl m} |                     ¦   «          |j        Št          ˆfd„¦   «         }|                      t          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   t          |j	        ¦  «        }|  
                    d|¦  «         d S )Nr   )Úcffi_usecasesc                  ó   •—  ‰ d¦  «         d S rø   r#   )r)   s   €r&   rz   zITestErrorMessages.test_cffi_function_pointer_template_source.<locals>.foo‰  s   ø€ àˆD�‰IŒIˆIˆIˆIr(   rù   )Únumba.testsrý   ÚinitÚcffi_cosr   r*   r   r+   r-   r.   r,   )r/   Úmodrz   r1   r›   r)   s        @r&   Ú*test_cffi_function_pointer_template_sourcez<TestErrorMessages.test_cffi_function_pointer_template_sourceƒ  sï   ø€ à4Ð4Ð4Ð4Ð4Ð4Ø�Š‰
Œ
ˆ
ØŒ|ˆå	ð	ð 	ð 	ð 	ñ 
Œð	ð ×Ò�vÔ1Ñ2Ô2ð 	°fØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ �VÔ%Ñ&Ô&ˆØ�ŠÐFÈÑOÔOÐOÐOÐOs   ÁA+Á+A/Á2A/c                 ó–  — t           j         G d„ dt          j        ¦  «        ¦   «         } G d„ dt           j        ¦  «        }t          j        ||ddg¦  «         |                      t          j        ¦  «        5 } |dd¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j
        ¦  «        }|                      d
|¦  «         d S )Nc                   ó   — e Zd ZdS )ú;TestErrorMessages.test_missing_source.<locals>.ParticleTypeN)r4   r5   r6   r#   r(   r&   ÚParticleTyper  •  s   € € € € € àˆDr(   r  c                   ó   — e Zd Zd„ ZdS )ú7TestErrorMessages.test_missing_source.<locals>.Particlec                 óB   — t           j                             | |¦  «        S r"   )r   ÚStructRefProxyÚ__new__)ÚclsÚposÚmasss      r&   r  z?TestErrorMessages.test_missing_source.<locals>.Particle.__new__š  s   € Ý Ô/×7Ò7¸¸SÑAÔAÐAr(   N)r4   r5   r6   r  r#   r(   r&   ÚParticler	  ™  s(   € € € € € ðBð Bð Bð Bð Br(   r  r  r  r    r;   )r  r  z#missing a required argument: 'mass')r   Úregisterr   Ú	StructRefr  Údefine_proxyr*   r   r+   r-   r.   r,   )r/   r  r  r1   r›   s        r&   Útest_missing_sourcez%TestErrorMessages.test_missing_source“  s7  € å	Ô	ð	ð 	ð 	ð 	ð 	�5œ?ñ 	ô 	ñ 
Ô	ð	ð	Bð 	Bð 	Bð 	Bð 	B•yÔ/ñ 	Bô 	Bð 	Bõ
 	Ô˜x¨¸¸v°ÑGÔGÐGà×Ò�vÔ1Ñ2Ô2ð 	$°fØˆH˜ Ð#Ñ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$õ �VÔ%Ñ&Ô&ˆØ�ŠÐ;¸VÑDÔDÐDÐDÐDs   Á:BÂBÂBN)r4   r5   r6   rœ   r¢   r   r°   r¶   r»   r¿   rÊ   râ   rï   ró   rû   r   r  r  r#   r(   r&   r‹   r‹   ²   s  € € € € € ð,ð ,ð ,ð,*ð *ð *ð& ð>ð >ñ Ôð>ð$+ð +ð +ð 
<ð 
<ð 
<ðð ð ð+ð +ð +ð47ð 7ð 7ðBNð Nð Nð"Nð Nð Nð"Pð Pð Pð ðPð Pñ ÔðPðEð Eð Eð Eð Er(   r‹   c                   ó   — e Zd Zd„ ZdS )Ú"TestDeveloperSpecificErrorMessagesc                 óN  — d„ }t          dd¦  «        5  |                      t          j        ¦  «        5 } t	          d¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }|                      d|¦  «         d S )Nc                 ó0   — |                       d¦  «         d S )Néÿÿÿÿ)ÚmaxrH   s    r&   rz   zPTestDeveloperSpecificErrorMessages.test_bound_function_error_string.<locals>.foo«  s   € Ø�EŠE�"‰IŒIˆIˆIˆIr(   ÚDEVELOPER_MODEr    zvoid(int64[:,:])ztoo many positional arguments)r   r*   r   r+   r   r-   r.   r,   rµ   s       r&   Ú test_bound_function_error_stringzCTestDeveloperSpecificErrorMessages.test_bound_function_error_string©  s(  € ð	ð 	ð 	õ Ð-¨qÑ1Ô1ð 	.ð 	.Ø×"Ò"¥6Ô#5Ñ6Ô6ð .¸&Ø(•Ð'Ñ(Ô(¨Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.õ �VÔ%Ñ&Ô&ˆØ�ŠÐ5°vÑ>Ô>Ð>Ð>Ð>s4   ” A0´AÁA0ÁA	ÁA0Á A	Á!A0Á0A4Á7A4N)r4   r5   r6   r  r#   r(   r&   r  r  §  s#   € € € € € ð
?ð 
?ð 
?ð 
?ð 
?r(   r  c                   ó   — e Zd ZdZd„ ZdS )ÚTestCapturedErrorHandlingz-Checks that the way errors are captured.
    c                 óÀ  ‡— d„ Št          ‰¦  «        d„ ¦   «         }t          j        ¦   «         5  t          j        dt          j        ¦  «         |                      t          ¦  «        5 }t          d¦  «        ˆfd„¦   «         }d d d ¦  «         n# 1 swxY w Y   d}|  	                    |t          |j        ¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó   — d S r"   r#   rH   s    r&   rÂ   z=TestCapturedErrorHandling.test_error_in_overload.<locals>.bar¼  r�   r(   c                 ó   — | j          d„ }|S )Nc                 ó   — d S r"   r#   rH   s    r&   ÚimplzNTestCapturedErrorHandling.test_error_in_overload.<locals>.ol_bar.<locals>.implÃ  rÓ   r(   )Úsome_invalid_attr)r$   r#  s     r&   rÄ   z@TestCapturedErrorHandling.test_error_in_overload.<locals>.ol_bar¿  s   € àÔÐðð ð àˆKr(   Úignorezvoid(int64)c                 ó   •—  ‰| ¦  «         d S r"   r#   )r$   rÂ   s    €r&   rz   z=TestCapturedErrorHandling.test_error_in_overload.<locals>.fooÍ  s   ø€ à�C˜‘F”F�F�F�Fr(   z+object has no attribute 'some_invalid_attr')r   ÚwarningsÚcatch_warningsÚsimplefilterr   ÚNumbaPendingDeprecationWarningr*   ÚAttributeErrorr   r,   r-   r.   )r/   rÄ   r1   rz   r2   rÂ   s        @r&   Útest_error_in_overloadz0TestCapturedErrorHandling.test_error_in_overloadº  sƒ  ø€ ð	ð 	ð 	õ 
�#‰Œð	ð 	ñ 
Œð	õ Ô$Ñ&Ô&ð 
	;ð 
	;åÔ! (Ý"(Ô"GñIô Ið Ið ×"Ò"¥>Ñ2Ô2ð °fÝ�mÑ$Ô$ðð ð ð ñ %Ô$ððð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð EˆHØ�MŠM˜(¥C¨Ô(8Ñ$9Ô$9Ñ:Ô:Ð:ð
	;ð 
	;ð 
	;ñ 
	;ô 
	;ð 
	;ð 
	;ð 
	;ð 
	;ð 
	;ð 
	;ð 
	;øøøð 
	;ð 
	;ð 
	;ð 
	;ð 
	;ð 
	;s5   °:CÁ*BÂCÂB	ÂCÂB	Â-CÃCÃCN)r4   r5   r6   Ú__doc__r,  r#   r(   r&   r  r  ¶  s-   € € € € € ðð ð;ð ;ð ;ð ;ð ;r(   r  c                   ó   — e Zd ZdZd„ Zd„ ZdS )ÚTestCurlyBracesInPathszU
    Test that error messages handle file paths with curly braces (issue #10094)
    c                 ór   — d}d}t          j        ||fi ¦  «        }d|› �}|                      ||¦  «         d S )Nz5C:\\Users\\{fa977bf3384160bce9243175b380be8}\\file.pyzError at {0}z	Error at ©r   Ú_format_msgÚassertEqual)r/   Úproblematic_pathÚfmtÚresultr2   s        r&   Ú&test_placeholders_with_positional_argsz=TestCurlyBracesInPaths.test_placeholders_with_positional_argsÙ  sU   € ðð 	ð
 ˆåÔ# CÐ*:Ð)<¸bÑAÔAˆà1Ð/Ð1Ð1ˆØ×Ò˜ Ñ*Ô*Ð*Ð*Ð*r(   c                 óv   — d}d|› �}t          j        |di ¦  «        }d|› �}|                      ||¦  «         d S )Nz{abc123}zPass r#   r1  )r/   Úname_with_bracesr5  r6  r2   s        r&   Ú test_preformatted_string_no_argsz7TestCurlyBracesInPaths.test_preformatted_string_no_argsè  sV   € ð &ÐØ(Ð&Ð(Ð(ˆåÔ# C¨¨RÑ0Ô0ˆà-Ð+Ð-Ð-ˆØ×Ò˜ Ñ*Ô*Ð*Ð*Ð*r(   N)r4   r5   r6   r-  r7  r:  r#   r(   r&   r/  r/  Ô  s<   € € € € € ðð ð+ð +ð +ð	+ð 	+ð 	+ð 	+ð 	+r(   r/  Ú__main__)3r-  Únumpyr=   r«   r'  r©   r   r   r   Ú
numba.corer   Únumba.experimentalr   Únumba.extendingr   r	   r
   r   Únumba.core.compilerr   Únumba.core.untyped_passesr   r   r   Únumba.core.typed_passesr   r   r   r   Únumba.core.compiler_machineryr   Únumba.core.types.functionsr   r™   Únumba.tests.supportr   r   r   r   r   r   Úunittestr   r8   rC   r‹   r  r  r/  r4   Úmainr#   r(   r&   ú<module>rH     s5  ððð ð Ð Ð Ð Ø 	€	€	€	Ø €€€à "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð Ø (Ð (Ð (Ð (Ð (Ð (ð1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1à ,Ð ,Ð ,Ð ,Ð ,Ð ,ð6ð 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6ðFð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fà 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø DÐ DÐ DÐ DÐ DÐ Dð>ð >ð >ð >ð >ð >ð >ð >ð >ð >ð >ð >ð >ð >ð >ð >ð €€€ð;ð ;ð ;ð ;ð ; hÔ&7ñ ;ô ;ð ;ð&7ð 7ð 7ð 7ð 7˜xÔ0ñ 7ô 7ð 7ðq7ð q7ð q7ð q7ð q7˜HÔ-ñ q7ô q7ð q7ðhrEð rEð rEð rEð rE˜Ô)ñ rEô rEð rEðj?ð ?ð ?ð ?ð ?¨°hÔ6Gñ ?ô ?ð ?ð;ð ;ð ;ð ;ð ; ¨Xñ ;ô ;ð ;ð<+ð +ð +ð +ð +˜XÔ.ñ +ô +ð +ð@ ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr(   