§
    2@ÄjÿG  ã                   ó~  — d dl Zd dlZd dlZd dlmZmZ d dlmZm	Z	m
Z
 d dlmZmZmZmZmZmZ d dlZdddœZdddœZdddœZdddd	œZ G d
„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z# G d„ de¦  «        Z$e%dk    r ej&        ¦   «          dS dS )é    N)ÚjitÚnjit)ÚtypesÚerrorsÚutils)ÚTestCaseÚexpected_failure_py311Úexpected_failure_py312Úexpected_failure_py313Úexpected_failure_py314Úexpected_failure_py315FT)ÚnopythonÚforceobj)r   Ú_nrt)r   Únogilr   c                   ó   — e Zd ZdS )ÚMyErrorN©Ú__name__Ú
__module__Ú__qualname__© ó    úLC:\Projects\Historical\venv\Lib\site-packages\numba/tests/test_exceptions.pyr   r      ó   € € € € € Ø€Dr   r   c                   ó   — e Zd ZdS )Ú
OtherErrorNr   r   r   r   r   r      r   r   r   c                   ó.   ‡ — e Zd Zˆ fd„Zd„ Zˆ fd„Zˆ xZS )ÚUDEArgsToSuperc                 óf   •— t          t          | ¦  «                             |¦  «         || _        d S ©N)Úsuperr   Ú__init__Úvalue0©ÚselfÚargr$   Ú	__class__s      €r   r#   zUDEArgsToSuper.__init__   s,   ø€ Ý�n˜dÑ#Ô#×,Ò,¨SÑ1Ô1Ð1ØˆŒˆˆr   c                 ó„   — t          || j        ¦  «        sdS d}|| j        |j        k    z  }|| j        |j        k    z  }|S ©NFT)Ú
isinstancer(   Úargsr$   ©r&   ÚotherÚsames      r   Ú__eq__zUDEArgsToSuper.__eq__#   sK   € Ý˜% ¤Ñ0Ô0ð 	Ø�5ØˆØ�”	˜UœZÒ'Ñ'ˆØ�”˜uœ|Ò+Ñ+ˆØˆr   c                 óx   •— t          t          t          ¦  «                             ¦   «         | j        f¦  «        S r!   )Úhashr"   r   Ú__hash__r$   ©r&   r(   s    €r   r3   zUDEArgsToSuper.__hash__+   s,   ø€ Ý•U�>Ñ*Ô*×3Ò3Ñ5Ô5°t´{ÐCÑDÔDÐDr   ©r   r   r   r#   r0   r3   Ú__classcell__©r(   s   @r   r   r      si   ø€ € € € € ðð ð ð ð ðð ð ðEð Eð Eð Eð Eð Eð Eð Eð Er   r   c                   ó.   ‡ — e Zd Zˆ fd„Zd„ Zˆ fd„Zˆ xZS )ÚUDENoArgSuperc                 ór   •— t          t          | ¦  «                             ¦   «          || _        || _        d S r!   )r"   r9   r#   Údeferargr$   r%   s      €r   r#   zUDENoArgSuper.__init__0   s1   ø€ Ý�m˜TÑ"Ô"×+Ò+Ñ-Ô-Ð-ØˆŒØˆŒˆˆr   c                 óª   — t          || j        ¦  «        sdS d}|| j        |j        k    z  }|| j        |j        k    z  }|| j        |j        k    z  }|S r*   )r+   r(   r,   r;   r$   r-   s      r   r0   zUDENoArgSuper.__eq__5   s^   € Ý˜% ¤Ñ0Ô0ð 	Ø�5ØˆØ�”	˜UœZÒ'Ñ'ˆØ�” ¤Ò/Ñ/ˆØ�”˜uœ|Ò+Ñ+ˆØˆr   c                 ó„   •— t          t          t          ¦  «                             ¦   «         | j        | j        f¦  «        S r!   )r2   r"   r9   r3   r;   r$   r4   s    €r   r3   zUDENoArgSuper.__hash__>   s9   ø€ Ý•U�=Ñ)Ô)×2Ò2Ñ4Ô4°d´mØ”[ð"ñ #ô #ð 	#r   r5   r7   s   @r   r9   r9   /   s`   ø€ € € € € ðð ð ð ð ð
ð ð ð#ð #ð #ð #ð #ð #ð #ð #ð #r   r9   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó`   •— | dk    r‰‚| dk    rt           ‚| dk    rt          j        j        ‚| S ©Né   é   é   ©Ú
ValueErrorÚnpÚlinalgÚLinAlgError)ÚiÚexcs    €r   Úraiserzraise_class.<locals>.raiserD   s9   ø€ Ø�Š6ˆ6ØˆIØ�!ŠVˆVÝÐØ�!ŠVˆVå”)Ô'Ð'Øˆr   r   ©rJ   rK   s   ` r   Úraise_classrM   C   s#   ø€ ðð ð ð ð ð €Mr   c                 ó   ‡ ‡— ˆˆ fd„}|S )Nc                 ó¤   •— | dk    r ‰‰d¦  «        ‚| dk    rt          ‰d¦  «        ‚| dk    r t          j                             ‰d¦  «        ‚| S r@   rD   ©rI   r'   rJ   s    €€r   rK   zraise_instance.<locals>.raiserQ   ó[   ø€ Ø�Š6ˆ6Ø�#�c˜1‘+”+ÐØ�!ŠVˆVÝ˜S !Ñ$Ô$Ð$Ø�!ŠVˆVÝ”)×'Ò'¨¨QÑ/Ô/Ð/Øˆr   r   )rJ   r'   rK   s   `` r   Úraise_instancerR   P   s)   øø€ ðð ð ð ð ð ð €Mr   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó¤   •— | dk    r ‰|d¦  «        ‚| dk    rt          |d¦  «        ‚| dk    r t          j                             |d¦  «        ‚| S r@   rD   rP   s     €r   rK   z+raise_instance_runtime_args.<locals>.raiser]   rQ   r   r   rL   s   ` r   Úraise_instance_runtime_argsrU   \   s#   ø€ ðð ð ð ð ð €Mr   c                   ó   — ‚ r!   r   r   r   r   ÚreraiserW   h   s   € Ø	r   c                 ó   ‡ — ˆ fd„}|S )Nc                 óF   •— | dk    rt          dd¦  «        ‚ ‰| ¦  «        S )NrC   Úbar)r   )rI   Úinners    €r   Úouterzouter_function.<locals>.outerm   s)   ø€ Ø�Š6ˆ6Ý˜U AÑ&Ô&Ð&Øˆu�Q‰xŒxˆr   r   )r[   r\   s   ` r   Úouter_functionr]   l   s#   ø€ ðð ð ð ð ð €Lr   c                 ó&   — | dk    s
J d¦   «         ‚d S )NrA   rZ   r   ©rI   s    r   Úassert_usecaser`   t   s   € Ø�Š6ˆ6ˆ6�5‰6Œ6ˆ6ˆ6ˆ6r   c                  ó   — t          ¦   «         ‚r!   ©r   r   r   r   Úude_bug_usecaserc   x   s   € Ý
Ñ
Ô
Ðr   c                 ó    — t          | ¦  «        ‚r!   ©rE   ©r'   s    r   Úraise_runtime_valuerg   |   s   € Ý
�S‰/Œ/Ðr   c                   ó`  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d „ Z"d!„ Z#d"„ Z$d#„ Z%d$„ Z&d%„ Z'd&„ Z(d'„ Z)d(„ Z*d)„ Z+d*„ Z,e-e.e/e0e1d+„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         Z2d,S )-ÚTestRaisingc                 óð  — d„ } t          t          j        t          j        dd¦  «        t          j        f¦  «        |¦  «        }t	          j        dt          j        ¬¦  «        }|                       ||d¦  «         ||d¦  «        ¦  «         |                      t          ¦  «        5 } ||d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j
        ¦  «        d¦  «         d S )Nc                 ó   — | j         |         S r!   )Úshape)ÚarI   s     r   Úpyfuncz5TestRaising.test_unituple_index_error.<locals>.pyfuncƒ   s   € Ø”7˜1”:Ðr   rA   ÚArB   )Údtyper   ztuple index out of range)r   r   ÚArrayÚint32rF   ÚemptyÚassertEqualÚassertRaisesÚ
IndexErrorÚstrÚ	exception)r&   rn   Úcfuncrm   Úcms        r   Útest_unituple_index_errorz%TestRaising.test_unituple_index_error‚   s  € ð	ð 	ð 	ð G••e”k¥%¤+¨q°#Ñ6Ô6½¼ÐDÑFÔFÀvÑNÔNˆåŒH�Q�bœhÐ'Ñ'Ô'ˆà×Ò˜˜˜q !™œ f f¨Q°¡l¤lÑ3Ô3Ð3à×Ò�zÑ*Ô*ð 	¨bØˆE�!�Q‰KŒKˆKð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò�˜Rœ\Ñ*Ô*Ð,FÑGÔGÐGÐGÐGs   Â*CÃCÃ
Cc                 óT  — |t           t          t          t          fv sJ ‚|                      |¦  «        5 } ||Ž  d d d ¦  «         n# 1 swxY w Y   |                      |¦  «        5 } ||Ž  d d d ¦  «         n# 1 swxY w Y   |                      |j        j        |j        j        ¦  «         t          |j        t          t          f¦  «        r#|                      |j        |j        k    ¦  «         |t          u r¬	  ||Ž  n9# t          $ r, t          j        t          j        ¦   «         Ž }|dd …         }	Y nw xY w	  ||Ž  n9# t          $ r, t          j        t          j        ¦   «         Ž }
|
dd …         }Y nw xY wt#          |	|¦  «        D ]\  }}|                      ||¦  «         Œd S d S )Néþÿÿÿ)Úforce_pyobj_flagsÚno_pyobj_flagsÚno_pyobj_flags_w_nrtÚno_gil_flagsru   rt   rx   r,   r+   r   r9   Ú
assertTrueÚ	ExceptionÚ	tracebackÚformat_exceptionÚsysÚexc_infoÚzipÚassertIn)r&   Ú	exec_modern   ry   Úexpected_error_classr,   ÚpyerrÚjiterrÚ	py_framesÚexpected_framesÚc_framesÚ
got_framesÚexpfÚgotfs                 r   Úcheck_against_pythonz TestRaising.check_against_python�   sg  € ð Õ.µÝ1µ<ðAð Að Að Að Að ×ÒÐ3Ñ4Ô4ð 	¸ØˆF�DˆMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×ÒÐ3Ñ4Ô4ð 	¸ØˆE�4ˆLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò˜œÔ-¨vÔ/?Ô/DÑEÔEÐEõ �e”o­½Ð'FÑGÔGð 	AØ�OŠO˜EœO¨vÔ/?Ò?Ñ@Ô@Ð@ð �Ð&Ð&ð1Ø�˜���øÝð 1ð 1ð 1Ý%Ô6½¼¹¼ÐG�	Ø"+¨B¨C¨C¤.���ð1øøøð+Ø��t���øÝð +ð +ð +Ý$Ô5µs´|±~´~ÐF�Ø% b c cœ]�
�
�
ð+øøøõ
 " /°:Ñ>Ô>ð *ð *‘
��dð —’˜d DÑ)Ô)Ð)Ð)ð+ 'Ð&ð"*ð *sG   ´AÁA
ÁA
Á&A8Á8A<Á?A<Ã;D Ä3D7Ä6D7Ä;E Å3E7Å6E7c                 óv  — t          t          ¦  «        } t          t          j        ffi |¤Ž|¦  «        }|                       |d¦  «        d¦  «         |                      |||t          d¦  «         |                      |||t          d¦  «         |                      |||t          j	        j
        d¦  «         d S )Nr   rA   rB   rC   )rM   r   r   r   rr   rt   r”   rE   rF   rG   rH   ©r&   Úflagsrn   ry   s       r   Úcheck_raise_classzTestRaising.check_raise_classº   sº   € Ý�WÑ%Ô%ˆØ,••U”[�NÐ,Ð, eÐ,Ð,¨VÑ4Ô4ˆØ×Ò˜˜˜q™œ 1Ñ%Ô%Ð%Ø×!Ò! %¨°½ÀÑCÔCÐCØ×!Ò! %¨°½
ÀAÑFÔFÐFØ×!Ò! %¨°Ý"$¤)Ô"7¸ñ	<ô 	<ð 	<ð 	<ð 	<r   c                 ó<   — |                       t          ¬¦  «         d S ©N©r—   )r˜   r   ©r&   s    r   Útest_raise_class_nopythonz%TestRaising.test_raise_class_nopythonÃ   s   € Ø×Ò¥^ÐÑ4Ô4Ð4Ð4Ð4r   c                 ó<   — |                       t          ¬¦  «         d S rš   )r˜   r~   rœ   s    r   Útest_raise_class_objmodez$TestRaising.test_raise_class_objmodeÆ   s    € Ø×ÒÕ%6ÐÑ7Ô7Ð7Ð7Ð7r   c                 ó’  — t           t          t          fD ]±}t          |d¦  «        } t	          t
          j        ffi |¤Ž|¦  «        }|                       |d¦  «        d¦  «         |                      ||||d¦  «         |                      |||t          d¦  «         |                      |||t          j        j        d¦  «         Œ²d S )Núsome messager   rA   rB   rC   )r   r   r9   rR   r   r   rr   rt   r”   rE   rF   rG   rH   ©r&   r—   Úclazzrn   ry   s        r   Úcheck_raise_instancez TestRaising.check_raise_instanceÉ   sâ   € Ý�~Ý#ð%ð 		@ð 		@ˆEå# E¨>Ñ:Ô:ˆFØ0•C�œ˜Ð0Ð0¨%Ð0Ð0°Ñ8Ô8ˆEà×Ò˜U˜U 1™XœX qÑ)Ô)Ð)Ø×%Ò% e¨V°U¸EÀ1ÑEÔEÐEØ×%Ò% e¨V°U½JÈÑJÔJÐJØ×%Ò% e¨V°UÝ&(¤iÔ&;¸Qñ@ô @ð @ð @ð		@ð 		@r   c                 ó<   — |                       t          ¬¦  «         d S rš   )r¤   r~   rœ   s    r   Útest_raise_instance_objmodez'TestRaising.test_raise_instance_objmodeÕ   s    € Ø×!Ò!Õ(9Ð!Ñ:Ô:Ð:Ð:Ð:r   c                 ó<   — |                       t          ¬¦  «         d S rš   )r¤   r   rœ   s    r   Útest_raise_instance_nopythonz(TestRaising.test_raise_instance_nopythonØ   s   € Ø×!Ò!­Ð!Ñ7Ô7Ð7Ð7Ð7r   c                 óŠ  — t           t          t          fD ]­}t          |d¦  «        }t	          |¦  «        } t          di |¤Ž|¦  «        } t          di |¤Žt	          |¦  «        ¦  «        }|                      ||||d¦  «         |                      |||t          d¦  «         |                      |||t          d¦  «         Œ®dS )zD
        Check exception propagation from nested functions.
        r¡   rA   rB   rC   Nr   )	r   r   r9   rR   r]   r   r”   rE   r   )r&   r—   Újit_argsr£   Úinner_pyfuncrn   Úinner_cfuncry   s           r   Úcheck_raise_nestedzTestRaising.check_raise_nestedÛ   sØ   € õ �~Ý#ð%ð 		Kð 		KˆEå)¨%°Ñ@Ô@ˆLÝ# LÑ1Ô1ˆFØ)�#˜/˜/ ˜/˜/¨,Ñ7Ô7ˆKØ#•C�O�O˜(�O�O¥N°;Ñ$?Ô$?Ñ@Ô@ˆEà×%Ò% e¨V°U¸EÀ1ÑEÔEÐEØ×%Ò% e¨V°U½JÈÑJÔJÐJØ×%Ò% e¨V°U½JÈÑJÔJÐJÐJð		Kð 		Kr   c                 ó>   — |                       t          d¬¦  «         d S )NT)r   )r­   r~   rœ   s    r   Útest_raise_nested_objmodez%TestRaising.test_raise_nested_objmodeê   s"   € Ø×ÒÕ 1¸DÐÑAÔAÐAÐAÐAr   c                 ó>   — |                       t          d¬¦  «         d S )NT)r   )r­   r   rœ   s    r   Útest_raise_nested_nopythonz&TestRaising.test_raise_nested_nopythoní   s!   € Ø×Ò¥¸ÐÑ>Ô>Ð>Ð>Ð>r   c                 ó  ‡‡‡	— d„ Š	t           } t          di |¤Ž|¦  «        }ˆ	fd„t          fˆ	fd„t          fˆ	fd„t          ffD ]9\  ŠŠˆˆfd„} ||¦  «        } ||¦  «        }|                      |||‰¦  «         Œ:d S )Nc                 ó   — | ‚r!   r   )rJ   s    r   Ú	raise_excz,TestRaising.check_reraise.<locals>.raise_excñ   s   € ØˆIr   r   c                  ó$   •—  ‰ t           ¦  «        S r!   )ÚZeroDivisionError©r´   s   €r   ú<lambda>z+TestRaising.check_reraise.<locals>.<lambda>õ   s   ø€  ) )Õ,=Ñ">Ô">€ r   c                  ó6   •—  ‰ t          dd¦  «        ¦  «        S ©NÚmsgrA   rb   r·   s   €r   r¸   z+TestRaising.check_reraise.<locals>.<lambda>÷   s   ø€  ) )­N¸5À!Ñ,DÔ,DÑ"EÔ"E€ r   c                  ó6   •—  ‰ t          dd¦  «        ¦  «        S rº   )r9   r·   s   €r   r¸   z+TestRaising.check_reraise.<locals>.<lambda>ù   s   ø€  ) )­M¸%ÀÑ,CÔ,CÑ"DÔ"D€ r   c                 ó   •‡ — ˆˆ ˆfd„}|S )Nc                  óJ   •— 	  ‰¦   «          d S # ‰ $ r  ‰¦   «          Y d S w xY wr!   r   )ÚerrÚfnÚops   €€€r   Úimplz9TestRaising.check_reraise.<locals>.gen_impl.<locals>.implü   sC   ø€ ðØ˜™œ˜˜˜øØð ð ð Ø˜™œ˜˜˜˜ðøøøs   ƒ
 �"¡"r   )rÀ   rÂ   r¿   rÁ   s   ` €€r   Úgen_implz+TestRaising.check_reraise.<locals>.gen_implû   s.   øø€ ðð ð ð ð ð ð ð
 �r   ©r   )rW   r   r¶   r   r9   r”   )
r&   r—   rn   ry   rÃ   ÚpybasedÚcbasedr¿   rÁ   r´   s
          @@@r   Úcheck_reraisezTestRaising.check_reraiseð   sî   øøø€ ð	ð 	ð 	åˆØ •Ð Ð ˜%Ð Ð  Ñ(Ô(ˆØ>Ð>Ð>Ð>Ý*ð,àEÐEÐEÐEÝ'ð)àDÐDÐDÐDÝ&ð(ð	)ð 	Dð 	D‰GˆB�ðð ð ð ð ð ð �h˜vÑ&Ô&ˆGØ�X˜e‘_”_ˆFØ×%Ò% e¨W°f¸cÑCÔCÐCÐCð	Dð 	Dr   c                 ó<   — |                       t          ¬¦  «         d S rš   )rÇ   r~   rœ   s    r   Útest_reraise_objmodez TestRaising.test_reraise_objmode  s    € Ø×ÒÕ!2ÐÑ3Ô3Ð3Ð3Ð3r   c                 ó<   — |                       t          ¬¦  «         d S rš   )rÇ   r   rœ   s    r   Útest_reraise_nopythonz!TestRaising.test_reraise_nopython	  s   € Ø×Ò¥ÐÑ0Ô0Ð0Ð0Ð0r   c                 ó0  — t          |¦  «        } t          t          j        ffi |¤Ž|¦  «        }|                      t
          ¦  «        5 } |d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        d¦  «         d S )NrA   z)exceptions must derive from BaseException)	rM   r   r   rr   ru   Ú	TypeErrorrt   rw   rx   )r&   Úclsr—   rn   ry   rz   s         r   Úcheck_raise_invalid_classz%TestRaising.check_raise_invalid_class  sÛ   € Ý˜SÑ!Ô!ˆØ,••U”[�NÐ,Ð, eÐ,Ð,¨VÑ4Ô4ˆØ×Ò�yÑ)Ô)ð 	¨RØˆE�!‰HŒHˆHð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò�˜Rœ\Ñ*Ô*ØDñ	Fô 	Fð 	Fð 	Fð 	Fs   ÁA#Á#A'Á*A'c                 ó€   — |                       t          t          ¬¦  «         |                       dt          ¬¦  «         d S )Nr›   rA   )rÏ   Úintr~   rœ   s    r   Ú test_raise_invalid_class_objmodez,TestRaising.test_raise_invalid_class_objmode  s<   € Ø×&Ò&¥sÕ2CÐ&ÑDÔDÐDØ×&Ò& qÕ0AÐ&ÑBÔBÐBÐBÐBr   c                 ó   — d}|                       t          j        ¦  «        5 }|                      t          t
          ¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |t          |j        ¦  «        ¦  «         |                       t          j        ¦  «        5 }|                      dt
          ¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |t          |j        ¦  «        ¦  «         d S )Nz8Encountered unsupported constant type used for exceptionr›   rA   )	ru   r   ÚUnsupportedErrorrÏ   rÑ   r   r‰   rw   rx   )r&   r»   Úraisess      r   Ú!test_raise_invalid_class_nopythonz-TestRaising.test_raise_invalid_class_nopython  so  € ØHˆØ×Ò�vÔ6Ñ7Ô7ð 	F¸6Ø×*Ò*­3µnÐ*ÑEÔEÐEð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fà�Š�c�3˜vÔ/Ñ0Ô0Ñ1Ô1Ð1Ø×Ò�vÔ6Ñ7Ô7ð 	D¸6Ø×*Ò*¨1µNÐ*ÑCÔCÐCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dà�Š�c�3˜vÔ/Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1s#   ¢"AÁAÁAÂ"CÃCÃCc                 óü   — t           d„ ¦   «         }d}|                      t          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   |                      |t          |j        ¦  «        ¦  «         d S )Nc                  ó   — d‚)NÚillegalr   r   r   r   Úfooz8TestRaising.test_raise_bare_string_nopython.<locals>.foo"  s   € àˆOr   zCDirectly raising a string constant as an exception is not supported)r   ru   r   rÔ   r‰   rw   rx   )r&   rÚ   r»   rÕ   s       r   Útest_raise_bare_string_nopythonz+TestRaising.test_raise_bare_string_nopython!  s»   € Ý	ð	ð 	ñ 
Œð	ðˆà×Ò�vÔ6Ñ7Ô7ð 	¸6ØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�Š�c�3˜vÔ/Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1s   ²A	Á	AÁAc                 ó¨   — t           } t          t          j        ffi |¤Ž|¦  «        } |d¦  «         |                      |||t
          d¦  «         d S )NrA   rB   )r`   r   r   rr   r”   ÚAssertionErrorr–   s       r   Úcheck_assert_statementz"TestRaising.check_assert_statement+  sY   € ÝˆØ,••U”[�NÐ,Ð, eÐ,Ð,¨VÑ4Ô4ˆØˆˆa‰ŒˆØ×!Ò! %¨°½ÈÑJÔJÐJÐJÐJr   c                 ó<   — |                       t          ¬¦  «         d S rš   )rÞ   r~   rœ   s    r   Útest_assert_statement_objmodez)TestRaising.test_assert_statement_objmode1  s    € Ø×#Ò#Õ*;Ð#Ñ<Ô<Ð<Ð<Ð<r   c                 ó<   — |                       t          ¬¦  «         d S rš   )rÞ   r   rœ   s    r   Útest_assert_statement_nopythonz*TestRaising.test_assert_statement_nopython4  s   € Ø×#Ò#­.Ð#Ñ9Ô9Ð9Ð9Ð9r   c                 ó˜  — d}d}d}d}|t           f|t          f|t          fg}t          j        dk    r8|                     |t           f¦  «         |                     |t           f¦  «         |D ]\\  }}i }	t          |d|i|	¦  «         |	d         }
 t          t          j	        ffi |¤Ž|
¦  «        }|  
                    ||
||d¦  «         Œ]d S )	Nz def f(a):
  raise exc('msg', 10)zdef f(a):
  assert a != 1z)def f[T: int](a: T) -> T:
  assert a != 1z*def f[T: int
](a: T) -> T:
  assert a != 1)rC   é   rJ   ÚfrA   )rÝ   r   r9   r   Ú	PYVERSIONÚappendÚexecr   r   rr   r”   )r&   r—   Úsimple_raiseÚassert_raiseÚpy312_pep695_raiseÚpy312_pep695_raise_2Ú
test_casesÚf_textrJ   Úlocrn   ry   s               r   Úcheck_raise_from_exec_stringz(TestRaising.check_raise_from_exec_string7  s  € à:ˆØ3ˆØIÐØMÐà�>Ð*Ø�>Ð*Ø�=Ð)ð
ˆ
õ
 Œ?˜gÒ%Ð%à×ÒÐ1µ>ÐBÑCÔCÐCØ×ÒÐ3µ^ÐDÑEÔEÐEØ%ð 	Dð 	D‰KˆF�CØˆCÝ�˜% ˜ sÑ+Ô+Ð+Ø˜”XˆFØ0•C�œ˜Ð0Ð0¨%Ð0Ð0°Ñ8Ô8ˆEØ×%Ò% e¨V°U¸CÀÑCÔCÐCÐCð	Dð 	Dr   c                 ó<   — |                       t          ¬¦  «         d S rš   )rð   r~   rœ   s    r   Ú$test_assert_from_exec_string_objmodez0TestRaising.test_assert_from_exec_string_objmodeM  s    € Ø×)Ò)Õ0AÐ)ÑBÔBÐBÐBÐBr   c                 ó<   — |                       t          ¬¦  «         d S rš   )rð   r   rœ   s    r   Ú%test_assert_from_exec_string_nopythonz1TestRaising.test_assert_from_exec_string_nopythonP  s   € Ø×)Ò)µÐ)Ñ?Ô?Ð?Ð?Ð?r   c                 óx   — t           } t          di |¤Ž|¦  «        }|                      |||t          ¦  «         d S )Nr   rÄ   )rc   r   r”   rÍ   r–   s       r   Úcheck_user_code_error_tracebackz+TestRaising.check_user_code_error_tracebackS  sF   € õ !ˆØ •Ð Ð ˜%Ð Ð  Ñ(Ô(ˆØ×!Ò! %¨°½	ÑBÔBÐBÐBÐBr   c                 ó<   — |                       t          ¬¦  «         d S rš   )rö   r~   rœ   s    r   Ú&test_user_code_error_traceback_objmodez2TestRaising.test_user_code_error_traceback_objmode[  s    € Ø×,Ò,Õ3DÐ,ÑEÔEÐEÐEÐEr   c                 ó<   — |                       t          ¬¦  «         d S rš   )rö   r   rœ   s    r   Ú'test_user_code_error_traceback_nopythonz3TestRaising.test_user_code_error_traceback_nopython^  s   € Ø×,Ò,µ>Ð,ÑBÔBÐBÐBÐBr   c                 ó’   — t           } t          t          j        ffi |¤Ž|¦  «        }|                      |||t
          d¦  «         d S )NÚhello)rg   r   r   Ústringr”   rE   r–   s       r   Úcheck_raise_runtime_valuez%TestRaising.check_raise_runtime_valuea  sL   € Ý$ˆØ-••U”\�OÐ-Ð- uÐ-Ð-¨fÑ5Ô5ˆØ×!Ò! %¨°½
ÀGÑLÔLÐLÐLÐLr   c                 ó<   — |                       t          ¬¦  «         d S rš   )rþ   r~   rœ   s    r   Ú test_raise_runtime_value_objmodez,TestRaising.test_raise_runtime_value_objmodef  s    € Ø×&Ò&Õ->Ð&Ñ?Ô?Ð?Ð?Ð?r   c                 ó<   — |                       t          ¬¦  «         d S rš   )rþ   r€   rœ   s    r   Ú!test_raise_runtime_value_nopythonz-TestRaising.test_raise_runtime_value_nopythoni  s    € Ø×&Ò&Õ-AÐ&ÑBÔBÐBÐBÐBr   c                 ó<   — |                       t          ¬¦  «         d S rš   )rþ   r�   rœ   s    r   Útest_raise_runtime_value_nogilz*TestRaising.test_raise_runtime_value_nogill  s   € Ø×&Ò&­\Ð&Ñ:Ô:Ð:Ð:Ð:r   c           	      ó®  — t           t          t          fD ]¿}t          |¦  «        } t	          t
          j        t
          j        ffi |¤Ž|¦  «        }|                       |dd¦  «        d¦  «         |  	                    ||||dd¦  «         |  	                    |||t          dd¦  «         |  	                    |||t          j        j        dd¦  «         ŒÀd S )	Nr   ÚtestrA   rü   rB   ÚworldrC   rG   )r   r   r9   rU   r   r   rr   rý   rt   r”   rE   rF   rG   rH   r¢   s        r   Ú&check_raise_instance_with_runtime_argsz2TestRaising.check_raise_instance_with_runtime_argso  sö   € Ý�~Ý#ð%ð 
	Jð 
	JˆEå0°Ñ7Ô7ˆFØ=•C�œ¥e¤lÐ3Ð=Ð=°uÐ=Ð=¸fÑEÔEˆEà×Ò˜U˜U 1 fÑ-Ô-¨qÑ1Ô1Ð1Ø×%Ò% e¨V°U¸EÀ1ÀgÑNÔNÐNØ×%Ò% e¨V°U½JÈØ&-ñ/ô /ð /à×%Ò% e¨V°UÝ&(¤iÔ&;¸QÀñJô Jð Jð Jð
	Jð 
	Jr   c                 ó<   — |                       t          ¬¦  «         d S rš   )r  r~   rœ   s    r   Ú-test_raise_instance_with_runtime_args_objmodez9TestRaising.test_raise_instance_with_runtime_args_objmode|  s    € Ø×3Ò3Õ:KÐ3ÑLÔLÐLÐLÐLr   c                 ó<   — |                       t          ¬¦  «         d S rš   )r  r€   rœ   s    r   Ú.test_raise_instance_with_runtime_args_nopythonz:TestRaising.test_raise_instance_with_runtime_args_nopython  s    € Ø×3Ò3Õ:NÐ3ÑOÔOÐOÐOÐOr   c                 ó<   — |                       t          ¬¦  «         d S rš   )r  r�   rœ   s    r   Ú+test_raise_instance_with_runtime_args_nogilz7TestRaising.test_raise_instance_with_runtime_args_nogil‚  s   € Ø×3Ò3½,Ð3ÑGÔGÐGÐGÐGr   c                 óø   — d„ }d„ }d„ }|df|df|t           j        ffg}|D ]W\  }}d}|                      t          j        |¦  «        5   t          |¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   ŒXd S )Nc                  óJ   — t          dt          j        d¦  «        dœ¦  «        ‚)NrA   é   ©rm   Úb)rE   rF   Úonesr   r   r   Úraise_literal_dictzCTestRaising.test_dynamic_raise_bad_args.<locals>.raise_literal_dict†  s    € Ý 1­2¬7°1©:¬:Ð6Ð6Ñ7Ô7Ð7r   c                  ó:   — t          t          d¦  «        ¦  «        ‚)NrC   )rE   Úranger   r   r   Úraise_rangez<TestRaising.test_dynamic_raise_bad_args.<locals>.raise_range‰  s   € Ý�U 1™XœXÑ&Ô&Ð&r   c                 ó*   — t          | j        ¦  «        ‚r!   )rE   Úbit_generator)Úrngs    r   Ú	raise_rngz:TestRaising.test_dynamic_raise_bad_args.<locals>.raise_rngŒ  s   € Ý˜SÔ.Ñ/Ô/Ð/r   r   z/.*Cannot convert native .* to a Python object.*)r   Únpy_rngÚassertRaisesRegexr   ÚTypingErrorr   )r&   r  r  r  Úfuncsrn   Úargtypesr»   s           r   Útest_dynamic_raise_bad_argsz'TestRaising.test_dynamic_raise_bad_args…  sÿ   € ð	8ð 	8ð 	8ð	'ð 	'ð 	'ð	0ð 	0ð 	0ð   Ð$Ø˜"ÐØ�œÐ(Ð)ð
ˆð !&ð 	'ð 	'ÑˆF�HØCˆCØ×'Ò'­Ô(:¸CÑ@Ô@ð 'ð 'Ø•�X‘”˜vÑ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'øð	'ð 	's   Á	A.Á.A2	Á5A2	c                 ó¦   — t           d„ ¦   «         }d}|                      t          |¦  «        5   |¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nc                  ó&   — t          dddœ¦  «        ‚)NrA   rC   r  re   r   r   r   Úraise_literal_dict2z@TestRaising.test_dynamic_raise_dict.<locals>.raise_literal_dict2›  s   € å 1¨1Ð-Ð-Ñ.Ô.Ð.r   z{a: 1, b: 3})r   r  rE   )r&   r%  r»   s      r   Útest_dynamic_raise_dictz#TestRaising.test_dynamic_raise_dictš  s«   € Ý	ð	/ð 	/ñ 
Œð	/ð ˆØ×#Ò#¥J°Ñ4Ô4ð 	"ð 	"ØÐÑ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð 	"ð 	"s   ®AÁA
ÁA
c                 óv  — t           d„ ¦   «         }t          d¦  «        D ]˜}|                      |¬¦  «        5  |                      t          ¦  «        5 } ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        d|› �¦  «         d d d ¦  «         n# 1 swxY w Y   Œ™d S )Nc                 ó�   — | dk    rd}t          |¦  «        ‚| dk    rd}t          |¦  «        ‚| dk    rd}t          |¦  «        ‚d S )Nr   zA was 0rA   zA was 1rB   zA was 2re   )rm   r»   s     r   Úraise_literal_messagezMTestRaising.test_dynamic_raise_literal_message.<locals>.raise_literal_message¤  sW   € à�AŠvˆvØ�Ý  ‘o”oÐ%Ø�AŠvˆvØ�Ý  ‘o”oÐ%Ø�AŠvˆvØ�Ý  ‘o”oÐ%ð ˆvr   rC   r_   zA was )r   r  ÚsubTestru   rE   rt   rw   rx   )r&   r)  rI   rÕ   s       r   Ú"test_dynamic_raise_literal_messagez.TestRaising.test_dynamic_raise_literal_message£  sY  € Ý	ð		&ð 		&ñ 
Œð		&õ �q‘”ð 	Fð 	FˆAØ—’ �Ñ"Ô"ð Fð FØ×&Ò&¥zÑ2Ô2ð -°fØ)Ð)¨!Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -à× Ò ¥ VÔ%5Ñ!6Ô!6¸À¸¸ÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Føð	Fð 	Fs5   ¸B-ÁA+ÁB-Á+A/Á/B-Á2A/Á3.B-Â-B1	Â4B1	c                 óp  — t           d„ ¦   «         }dD ]¢}|                      |¬¦  «        5  |                      t          ¦  «        5 } ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        t          |¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   Œ£d S )Nc                 ó,   — d}| rd}t          |¦  «        ‚)NÚFalseÚTruere   )r'   r»   s     r   Úraise_single_literal_messagez[TestRaising.test_dynamic_raise_single_literal_message.<locals>.raise_single_literal_message·  s    € àˆCØð Ø�Ý˜S‘/”/Ð!r   )FTrf   )r   r*  ru   rE   rt   rw   rx   )r&   r0  r'   rÕ   s       r   Ú)test_dynamic_raise_single_literal_messagez5TestRaising.test_dynamic_raise_single_literal_message¶  sS  € Ý	ð	"ð 	"ñ 
Œð	"ð !ð 	Bð 	BˆCØ—’ #�Ñ&Ô&ð Bð BØ×&Ò&¥zÑ2Ô2ð 6°fØ0Ð0°Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6à× Ò ¥ VÔ%5Ñ!6Ô!6½¸C¹¼ÑAÔAÐAðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bøð	Bð 	Bs5   «B*ÁAÁB*ÁA"Á"B*Á%A"Á&8B*Â*B.	Â1B.	c                 ó‚  — t           d„ ¦   «         }ddt          d¦  «        fg}|D ]˜\  }}|                      |¬¦  «        5  |                      t          ¦  «        5 } ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   Œ™d S )Nc                 óš   — | dk    r#t          j        d¦  «        }t          |¦  «        ‚t          j        d¦  «        }t          |¦  «        ‚)Nr   iùÿÿÿì            )rF   Úint64rE   Úuint64)rm   Úvalues     r   Úraise_mixed_int_widthzMTestRaising.test_dynamic_raise_mixed_int_width.<locals>.raise_mixed_int_widthÅ  sC   € à�AŠvˆvÝœ ™œ�Ý  Ñ'Ô'Ð'Ý”I˜gÑ&Ô&ˆEÝ˜UÑ#Ô#Ð#r   )r   z-7rA   r4  rf   )r   rw   r*  ru   rE   rt   rx   )r&   r8  Úcasesr'   ÚexpectedrÕ   s         r   Ú"test_dynamic_raise_mixed_int_widthz.TestRaising.test_dynamic_raise_mixed_int_widthÄ  sf  € Ý	ð	$ð 	$ñ 
Œð	$ð ˜Q¥ G¡¤Ð-Ð.ˆØ"ð 	Bð 	B‰MˆC�Ø—’ #�Ñ&Ô&ð Bð BØ×&Ò&¥zÑ2Ô2ð /°fØ)Ð)¨#Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /à× Ò ¥ VÔ%5Ñ!6Ô!6¸ÑAÔAÐAðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bøð	Bð 	Bs6   ÁB3ÁA4Á(B3Á4A8Á8B3Á;A8Á<+B3Â3B7	Â:B7	c                 óÄ   — t          d¬¦  «        d„ ¦   «         }d}|                      t          j        |¦  «        5   |d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NF)r   c                 ó    — t          | ¦  «        ‚r!   re   r_   s    r   Úraise_with_no_nrtz7TestRaising.test_disable_nrt.<locals>.raise_with_no_nrtÕ  ó   € å˜Q‘-”-Ðr   zNRT required but not enabledé{   )r   r  r   ÚNumbaRuntimeError)r&   r>  r»   s      r   Útest_disable_nrtzTestRaising.test_disable_nrtÔ  s¼   € Ý	�5Ð	Ñ	Ô	ð	 ð 	 ñ 
Ô	ð	 ð -ˆØ×#Ò#¥FÔ$<¸cÑBÔBð 	#ð 	#ØÐ˜cÑ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#s   ¼AÁAÁAc                 ó°   ‡— t           d„ ¦   «         Št           ˆfd„¦   «         }|                      |                     d¦  «         |d¦  «        ¦  «         d S )Nc                 ó    — t          | ¦  «        ‚r!   re   ©rm   s    r   Úraise_z*TestRaising.test_try_raise.<locals>.raise_ß  r?  r   c                 óH   •— 	  ‰| ¦  «         n# t           $ r Y nw xY w| dz   S )NrA   )rƒ   ©rm   rF  s    €r   Ú	try_raisez-TestRaising.test_try_raise.<locals>.try_raiseã  s@   ø€ ðØ��q‘	”	�	�	øÝð ð ð Ø�ðøøøà�q‘5ˆLs   ƒ �
›rC   )r   rt   Úpy_func)r&   rI  rF  s     @r   Útest_try_raisezTestRaising.test_try_raiseÝ  su   ø€ å	ð	 ð 	 ñ 
Œð	 õ 
ð	ð 	ð 	ð 	ñ 
Œð	ð 	×Ò˜×*Ò*¨1Ñ-Ô-¨y¨y¸©|¬|Ñ<Ô<Ð<Ð<Ð<r   c           
      óx  ‡— t           d„ ¦   «         Št           ˆfd„¦   «         }dddt          j        d¦  «        ddgdt          ddg¦  «        g}‰|fD ]e}|D ]`}|                      t
          ¦  «        5 } ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |f|j        j        ¦  «         ŒaŒfd S )	Nc                 ó    — t          | ¦  «        ‚r!   re   rE  s    r   rF  z.TestRaising.test_dynamic_raise.<locals>.raise_ô  r?  r   c                 óZ   •— 	  ‰| ¦  «         d S # t           $ r t          | ¦  «        ‚w xY wr!   )rƒ   rE   rH  s    €r   Ú
try_raise_z2TestRaising.test_dynamic_raise.<locals>.try_raise_ø  s@   ø€ ð$Ø��q‘	”	�	�	�	øÝð $ð $ð $Ý  ‘m”mÐ#ð$øøøs   ƒ �*rA   gš™™™™™ñ?rü   rC   rB   )rA   rB   )	r   rF   r  Úsetru   rE   rt   rx   r,   )r&   rO  r,   rÀ   r'   ÚerF  s         @r   Útest_dynamic_raisezTestRaising.test_dynamic_raiseí  s>  ø€ õ 
ð	 ð 	 ñ 
Œð	 õ 
ð	$ð 	$ð 	$ð 	$ñ 
Œð	$ð ØØÝŒG�A‰JŒJØ�ˆFØÝ��A�‰KŒKð
ˆð ˜:Ð&ð 	;ð 	;ˆBØð ;ð ;�Ø×&Ò&¥zÑ2Ô2ð °aØ�B�s‘G”G�Gðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à× Ò  # ¨¬Ô)9Ñ:Ô:Ð:Ð:ð;ð	;ð 	;s   Á4BÂBÂBN)3r   r   r   r{   r”   r˜   r�   rŸ   r¤   r¦   r¨   r­   r¯   r±   rÇ   rÉ   rË   rÏ   rÒ   rÖ   rÛ   rÞ   rà   râ   rð   rò   rô   rö   rø   rú   rþ   r   r  r  r  r
  r  r  r"  r&  r+  r1  r;  rB  rK  r	   r
   r   r   r   rR  r   r   r   ri   ri   €   s  € € € € € ðHð Hð Hð(*ð (*ð (*ðT<ð <ð <ð5ð 5ð 5ð8ð 8ð 8ð
@ð 
@ð 
@ð;ð ;ð ;ð8ð 8ð 8ðKð Kð KðBð Bð Bð?ð ?ð ?ðDð Dð Dð,4ð 4ð 4ð1ð 1ð 1ðFð Fð FðCð Cð Cð2ð 2ð 2ð2ð 2ð 2ðKð Kð Kð=ð =ð =ð:ð :ð :ðDð Dð Dð,Cð Cð Cð@ð @ð @ðCð Cð CðFð Fð FðCð Cð CðMð Mð Mð
@ð @ð @ðCð Cð Cð;ð ;ð ;ðJð Jð JðMð Mð MðPð Pð PðHð Hð Hð'ð 'ð 'ð*"ð "ð "ðFð Fð Fð&Bð Bð BðBð Bð Bð #ð #ð #ð=ð =ð =ð  ØØØØð;ð ;ñ Ôñ Ôñ Ôñ Ôñ Ôð
;ð ;ð ;r   ri   Ú__main__)'ÚnumpyrF   r†   r„   Únumbar   r   Ú
numba.corer   r   r   Únumba.tests.supportr   r	   r
   r   r   r   Úunittestr~   r   r€   r�   rƒ   r   r   r   r9   rM   rR   rU   rW   r]   r`   rc   rg   ri   r   Úmainr   r   r   ú<module>rZ     sr  ðØ Ð Ð Ð Ø 
€
€
€
Ø Ð Ð Ð à Ð Ð Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +ð#ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð €€€ð "'°DÐ9Ð9Ð Ø"¨EÐ2Ð2€Ø$(°$Ð7Ð7Ð Ø ¨4¸Ð>Ð>€ð	ð 	ð 	ð 	ð 	ˆiñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�ñ 	ô 	ð 	ðEð Eð Eð Eð E�Yñ Eô Eð Eð"#ð #ð #ð #ð #�Iñ #ô #ð #ð(
ð 
ð 
ð	ð 	ð 	ð	ð 	ð 	ð
ð 
ð 
ðð ð ðð ð ðð ð ðð ð ðL;ð L;ð L;ð L;ð L;�(ñ L;ô L;ð L;ð^ ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   