§
    2@ÄjÐ(  ã                   óº   — d dl Z d dlZd dlmZ d dlmZmZmZ d dlm	Z	m
Z
mZ d dlmZmZ ed„ ¦   «         Z G d„ de¦  «        Zed	k    r ej        ¦   «          dS dS )
é    N)Úcontextmanager)ÚjitÚ	vectorizeÚguvectorize)ÚNumbaDeprecationWarningÚNumbaPendingDeprecationWarningÚNumbaWarning)ÚTestCaseÚneeds_setuptoolsc               #   óÚ   K  — t          j        d¬¦  «        5 } t          j        dt          ¬¦  «         t          j        dt          ¬¦  «         | V — d d d ¦  «         d S # 1 swxY w Y   d S )NT©ÚrecordÚignore©ÚcategoryÚalways)ÚwarningsÚcatch_warningsÚsimplefilterr	   r   )Úws    úNC:\Projects\Historical\venv\Lib\site-packages\numba/tests/test_deprecations.pyÚ!_catch_numba_deprecation_warningsr      s±   è è € å	Ô	 ¨Ð	-Ñ	-Ô	-ð °ÝÔ˜hµÐ>Ñ>Ô>Ð>ÝÔ˜hÕ1HÐIÑIÔIÐIØˆˆˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ˜;A Á A$Á'A$c                   ó6  — e Zd Zdd„Zej        d„ ¦   «         Zej        d„ ¦   «         Zej        d„ ¦   «         Zej        d„ ¦   «         Z	ej        d„ ¦   «         Z
ej        d„ ¦   «         Zej        d	„ ¦   «         Zej        d
„ ¦   «         Zej        d„ ¦   «         Zej        d„ ¦   «         Zej        d„ ¦   «         Zej        d„ ¦   «         Zej        d„ ¦   «         Zej        d„ ¦   «         Zeej        d„ ¦   «         ¦   «         Zeej        d„ ¦   «         ¦   «         ZdS )ÚTestDeprecationTc                 óN  — |                       t          |¦  «        d¦  «         |                       |d         j        |¦  «         |                      |t	          |d         j        ¦  «        ¦  «         |r0|                      dt	          |d         j        ¦  «        ¦  «         d S d S )Né   r   úhttps://numba.readthedocs.io)ÚassertEqualÚlenr   ÚassertInÚstrÚmessage)Úselfr   Úexpected_strr   Ú	check_rtds        r   Úcheck_warningzTestDeprecation.check_warning   s¥   € Ø×Ò�˜X™œ¨Ñ*Ô*Ð*Ø×Ò˜ !œÔ-¨xÑ8Ô8Ð8Ø�Š�l¥C¨°¬Ô(;Ñ$<Ô$<Ñ=Ô=Ð=Øð 	4Ø�MŠMÐ8Ý˜h qœkÔ1Ñ2Ô2ñ4ô 4ð 4ð 4ð 4ð	4ð 	4ó    c                 óÚ   — t          ¦   «         5 }t          d¬¦  «        d„ ¦   «         } |¦   «          d}|                      ||t          d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NF©Únopythonc                  ó   — d S ©N© r-   r'   r   Úfooz?TestDeprecation.test_explicit_false_nopython_kwarg.<locals>.foo#   s   € à�r'   ú2The keyword argument 'nopython=False' was supplied©r%   )r   r   r&   r   ©r#   r   r.   Úmsgs       r   Ú"test_explicit_false_nopython_kwargz2TestDeprecation.test_explicit_false_nopython_kwarg   sÙ   € õ /Ñ0Ô0ð 		Q°Aå˜%Ð Ñ Ô ðð ñ !Ô ðð ˆC‰EŒEˆEàFˆCØ×Ò˜q #Õ'>È%ÐÑPÔPÐPð		Qð 		Qð 		Qñ 		Qô 		Qð 		Qð 		Qð 		Qð 		Qð 		Qð 		Qð 		Qøøøð 		Qð 		Qð 		Qð 		Qð 		Qð 		Qs   �AA Á A$Á'A$c                 ó¬   — t          ¦   «         5 }t          d¦  «        d„ ¦   «         }d d d ¦  «         n# 1 swxY w Y   |                      |¦  «         d S )Núfloat64(float64)c                 ó   — | dz   S ©Nr   r-   ©Úas    r   r.   zOTestDeprecation.test_vectorize_missing_nopython_kwarg_not_reported.<locals>.foo3   ó   € à˜1‘u�r'   ©r   r   ÚassertFalse©r#   r   r.   s      r   Ú2test_vectorize_missing_nopython_kwarg_not_reportedzBTestDeprecation.test_vectorize_missing_nopython_kwarg_not_reported,   s¡   € õ
 /Ñ0Ô0ð 	°AåÐ)Ñ*Ô*ðð ñ +Ô*ðð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×Ò˜ÑÔÐÐÐs   �4´8»8c                 óÆ   — t          ¦   «         5 }t          dd¬¦  «        d„ ¦   «         }d d d ¦  «         n# 1 swxY w Y   d}|                      ||t          d¬¦  «         d S )Nr5   Fr)   c                 ó   — | dz   S r7   r-   r8   s    r   r.   zFTestDeprecation.test_vectorize_nopython_false_is_reported.<locals>.foo@   r:   r'   r/   r0   ©r   r   r&   r   r1   s       r   Ú)test_vectorize_nopython_false_is_reportedz9TestDeprecation.test_vectorize_nopython_false_is_reported9   s¶   € õ
 /Ñ0Ô0ð 	°AåÐ)°EÐ:Ñ:Ô:ðð ñ ;Ô:ðð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð CˆØ×Ò˜1˜cÕ#:ÀeÐÑLÔLÐLÐLÐLó   �6¶:½:c                 ó°   — t          ¦   «         5 }t          dd¬¦  «        d„ ¦   «         }d d d ¦  «         n# 1 swxY w Y   |                      |¦  «         d S )Nr5   T©Úforceobjc                 ó(   — t          ¦   «          | dz   S r7   ©Úobjectr8   s    r   r.   zRTestDeprecation.test_vectorize_objmode_direct_compilation_no_warnings.<locals>.fooM   ó   € å‘”�Ø˜1‘u�r'   r;   r=   s      r   Ú5test_vectorize_objmode_direct_compilation_no_warningszETestDeprecation.test_vectorize_objmode_direct_compilation_no_warningsG   s¦   € õ /Ñ0Ô0ð 	°AåÐ)°DÐ9Ñ9Ô9ðð ñ :Ô9ðð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×Ò˜ÑÔÐÐÐrC   c                 óÈ   — t          ¦   «         5 }t          ddd¬¦  «        d„ ¦   «         }d d d ¦  «         n# 1 swxY w Y   d}|                      ||t          d¬¦  «         d S )Nr5   TF)rF   r*   c                 ó(   — t          ¦   «          | dz   S r7   rH   r8   s    r   r.   zTTestDeprecation.test_vectorize_objmode_compilation_nopython_false_warns.<locals>.foo[   rJ   r'   r/   r0   rA   r1   s       r   Ú7test_vectorize_objmode_compilation_nopython_false_warnszGTestDeprecation.test_vectorize_objmode_compilation_nopython_false_warnsT   s¹   € õ
 /Ñ0Ô0ð 	°AåÐ)°DÀ5ÐIÑIÔIðð ñ JÔIðð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð CˆØ×Ò˜1˜cÕ#:ÀeÐÑLÔLÐLÐLÐLó   �7·;¾;c                 ó°   — t          ¦   «         5 }t          dd¬¦  «        d„ ¦   «         }d d d ¦  «         n# 1 swxY w Y   |                      |¦  «         d S )Nr5   Úparallel©Útargetc                 ó   — | dz   S r7   r-   ©Úxs    r   r.   zETestDeprecation.test_vectorize_parallel_true_no_warnings.<locals>.fooi   r:   r'   r;   r=   s      r   Ú(test_vectorize_parallel_true_no_warningsz8TestDeprecation.test_vectorize_parallel_true_no_warningsc   s¦   € õ
 /Ñ0Ô0ð 	°AÝÐ)°*Ð=Ñ=Ô=ðð ñ >Ô=ðð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð
 	×Ò˜ÑÔÐÐÐrC   c                 ó²   — t          ¦   «         5 }t          ddd¬¦  «        d„ ¦   «         }d d d ¦  «         n# 1 swxY w Y   |                      |¦  «         d S )Nr5   rQ   T©rS   r*   c                 ó   — | dz   S r7   r-   rU   s    r   r.   zSTestDeprecation.test_vectorize_parallel_true_nopython_true_no_warnings.<locals>.foot   r:   r'   r;   r=   s      r   Ú6test_vectorize_parallel_true_nopython_true_no_warningszFTestDeprecation.test_vectorize_parallel_true_nopython_true_no_warningso   s©   € õ /Ñ0Ô0ð 	°AÝÐ)°*ÀtÐLÑLÔLðð ñ MÔLðð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð
 	×Ò˜ÑÔÐÐÐrO   c                 óÈ   — t          ¦   «         5 }t          ddd¬¦  «        d„ ¦   «         }d d d ¦  «         n# 1 swxY w Y   d}|                      ||t          d¬¦  «         d S )Nr5   rQ   FrY   c                 ó   — | dz   S r7   r-   rU   s    r   r.   zNTestDeprecation.test_vectorize_parallel_true_nopython_false_warns.<locals>.foo   r:   r'   r/   r0   rA   r1   s       r   Ú1test_vectorize_parallel_true_nopython_false_warnszATestDeprecation.test_vectorize_parallel_true_nopython_false_warnsz   s¹   € õ /Ñ0Ô0ð 	°AÝÐ)°*ÀuÐMÑMÔMðð ñ NÔMðð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð
 CˆØ×Ò˜1˜cÕ#:ÀeÐÑLÔLÐLÐLÐLrO   c                 ó¼   ‡— t          ¦   «         5 }t          dd¬¦  «        ˆfd„¦   «         }d„ Šd d d ¦  «         n# 1 swxY w Y   |                      |¦  «         d S )Nr5   TrE   c                 ó    •—  ‰| dz   ¦  «        S r7   r-   )rV   Úbars    €r   r.   zZTestDeprecation.test_vectorize_calling_jit_with_nopython_false_warns_from_jit.<locals>.foo�   s   ø€ à�s˜1˜q™5‘z”zÐ!r'   c                  ó   — d S r,   r-   )Úargss    r   ra   zZTestDeprecation.test_vectorize_calling_jit_with_nopython_false_warns_from_jit.<locals>.bar“   s   € Ø�r'   r;   )r#   r   r.   ra   s      @r   Ú=test_vectorize_calling_jit_with_nopython_false_warns_from_jitzMTestDeprecation.test_vectorize_calling_jit_with_nopython_false_warns_from_jit†   sÀ   ø€ õ /Ñ0Ô0ð 	°AÝÐ)°DÐ9Ñ9Ô9ð"ð "ð "ð "ñ :Ô9ð"ðð ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×Ò˜ÑÔÐÐÐs   � <¼A ÁA c                 ó®   — t          ¦   «         5 }t          dd¦  «        d„ ¦   «         }d d d ¦  «         n# 1 swxY w Y   |                      |¦  «         d S )Nú void(float64[::1], float64[::1])ú(n)->(n)c                 ó   — | dz  } d S r7   r-   ©r9   Úbs     r   ra   zKTestDeprecation.test_guvectorize_implicit_nopython_no_warnings.<locals>.barž   s   € à�Q‘���r'   ©r   r   r<   ©r#   r   ra   s      r   Ú.test_guvectorize_implicit_nopython_no_warningsz>TestDeprecation.test_guvectorize_implicit_nopython_no_warnings˜   s¤   € õ /Ñ0Ô0ð 	°AåÐ;¸ZÑHÔHðð ñ IÔHðð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×Ò˜ÑÔÐÐÐs   �5µ9¼9c                 ó²   — t          ¦   «         5 }t          ddd¬¦  «        d„ ¦   «         }d d d ¦  «         n# 1 swxY w Y   |                      |¦  «         d S )Nrf   rg   TrE   c                 ó,   — t          ¦   «          | dz  } d S r7   rH   ri   s     r   ra   zBTestDeprecation.test_guvectorize_forceobj_no_warnings.<locals>.barª   ó   € õ ‘”�Ø�Q‘���r'   rk   rl   s      r   Ú%test_guvectorize_forceobj_no_warningsz5TestDeprecation.test_guvectorize_forceobj_no_warnings¤   s±   € õ /Ñ0Ô0ð 	°AåÐ;¸ZØ"&ð(ñ (ô (ðð ñ(ô (ðð		ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×Ò˜ÑÔÐÐÐrO   c                 ó²   — t          ¦   «         5 }t          ddd¬¦  «        d„ ¦   «         }d d d ¦  «         n# 1 swxY w Y   |                      |¦  «         d S )Nrf   rg   rQ   rR   c                 ó   — | dz  } d S r7   r-   ri   s     r   ra   zTTestDeprecation.test_guvectorize_parallel_implicit_nopython_no_warnings.<locals>.bar¸   s   € ð �Q‘���r'   rk   rl   s      r   Ú7test_guvectorize_parallel_implicit_nopython_no_warningszGTestDeprecation.test_guvectorize_parallel_implicit_nopython_no_warnings²   s±   € õ /Ñ0Ô0ð 	°AåÐ;¸ZØ *ð,ñ ,ô ,ðð ñ,ô ,ðð		ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×Ò˜ÑÔÐÐÐrO   c                 ó´   — t          ¦   «         5 }t          dddd¬¦  «        d„ ¦   «         }d d d ¦  «         n# 1 swxY w Y   |                      |¦  «         d S )Nrf   rg   rQ   T)rS   rF   c                 ó,   — t          ¦   «          | dz  } d S r7   rH   ri   s     r   ra   zKTestDeprecation.test_guvectorize_parallel_forceobj_no_warnings.<locals>.barÇ   rp   r'   rk   rl   s      r   Ú.test_guvectorize_parallel_forceobj_no_warningsz>TestDeprecation.test_guvectorize_parallel_forceobj_no_warnings¿   sµ   € õ /Ñ0Ô0ð 	°Aõ Ð;¸ZØ *°Tð;ñ ;ô ;ðð ñ;ô ;ðð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×Ò˜ÑÔÐÐÐs   �8¸<¿<c                 óì  — d„ }d„ }||fD �]g}|j                              d¦  «        } t          |¦  «        dg¦  «        }t          j        d¬¦  «        5 }t          j        dt          ¬¦  «         t          j        d	t          ¬¦  «           t          d¬
¦  «        |¦  «        |¦  «         |  	                    t          |¦  «        d¦  «         |  	                    |d         j        t          ¦  «         t          |d         j        ¦  «        }d}|                      ||¦  «         d|z  }|                      ||¦  «         |                      d|¦  «         d d d ¦  «         n# 1 swxY w Y   �Œid S )Nc                 ó,   — |                       d¦  «        S r7   )Úappendr8   s    r   Úfoo_listzFTestDeprecation.test_reflection_of_mutable_container.<locals>.foo_listÒ   s   € Ø—8’8˜A‘;”;Ðr'   c                 ó,   — |                       d¦  «        S r7   )Úaddr8   s    r   Úfoo_setzETestDeprecation.test_reflection_of_mutable_container.<locals>.foo_setÕ   s   € Ø—5’5˜‘8”8ˆOr'   Úfoo_é
   Tr   r   r   r   r)   r   r   z?Encountered the use of a type that is scheduled for deprecationz!'reflected %s' found for argumentr   )Ú__name__ÚstripÚevalr   r   r   r	   r   r   r   r   r   r!   r"   r    )	r#   r{   r~   ÚfÚ	containerÚinpr   Úwarn_msgr2   s	            r   Ú$test_reflection_of_mutable_containerz4TestDeprecation.test_reflection_of_mutable_containerÏ   sà  € ð	ð 	ð 	ð	ð 	ð 	ð ˜GÐ$ð 	Hñ 	HˆAØœ
×(Ò(¨Ñ0Ô0ˆIØ!•$�y‘/”/ 2 &Ñ)Ô)ˆCÝÔ(°Ð5Ñ5Ô5ð H¸ÝÔ% h½ÐFÑFÔFÐFÝÔ% hÝ/MðOñ Oô Oð Oà%Ð"•˜TÐ"Ñ"Ô" 1Ñ%Ô% cÑ*Ô*Ð*Ø× Ò ¥ Q¡¤¨Ñ+Ô+Ð+Ø× Ò   1¤¤Õ0NÑOÔOÐOÝ˜q œtœ|Ñ,Ô,�ð%�à—’˜c 8Ñ,Ô,Ð,Ø<¸yÑH�Ø—’˜c 8Ñ,Ô,Ð,Ø—’Ð<¸hÑGÔGÐGðHð Hð Hñ Hô Hð Hð Hð Hð Hð Hð Høøøð Hð Hð Hð Hùð	Hð 	Hs   ÁDE'Å'E+	Å.E+	c                 óÜ   — t          j        d¬¦  «        5 }t          j        dt          ¬¦  «         dd l}d}|                      ||t          ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NTr   r   r   r   ú)The 'pycc' module is pending deprecation.)r   r   r   r   Ú
numba.pyccr&   )r#   r   Únumbar$   s       r   Útest_pycc_modulez TestDeprecation.test_pycc_moduleê   sÙ   € õ
 Ô$¨DÐ1Ñ1Ô1ð 	P°QÝÔ! (Ý+IðKñ Kô Kð KàÐÐÐàGˆLØ×Ò˜q ,Õ0NÑOÔOÐOð	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	Pð 	Pð 	Ps   –>A!Á!A%Á(A%c                 óà   — t          j        d¬¦  «        5 }t          j        dt          ¬¦  «         ddlm} d}|                      ||t          ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NTr   r   r   r   )ÚCCrŠ   )r   r   r   r   r‹   r�   r&   )r#   r   r�   r$   s       r   Útest_pycc_CCzTestDeprecation.test_pycc_CC÷   sß   € õ
 Ô$¨DÐ1Ñ1Ô1ð 	P°QÝÔ! (Ý+IðKñ Kô Kð Kà%Ð%Ð%Ð%Ð%Ð%àGˆLØ×Ò˜q ,Õ0NÑOÔOÐOð	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	Pð 	Pð 	Ps   –A A#Á#A'Á*A'N)T)r�   Ú
__module__Ú__qualname__r&   r
   Úrun_test_in_subprocessr3   r>   rB   rK   rN   rW   r[   r^   rd   rm   rq   rt   rw   rˆ   r   r�   r�   r-   r'   r   r   r      sE  € € € € € ð4ð 4ð 4ð 4ð Ô$ðQð Qñ %Ô$ðQð Ô$ð
ð 
ñ %Ô$ð
ð Ô$ðMð Mñ %Ô$ðMð Ô$ð
ð 
ñ %Ô$ð
ð Ô$ðMð Mñ %Ô$ðMð Ô$ð	ð 	ñ %Ô$ð	ð Ô$ðð ñ %Ô$ðð Ô$ð	Mð 	Mñ %Ô$ð	Mð Ô$ðð ñ %Ô$ðð" Ô$ð	ð 	ñ %Ô$ð	ð Ô$ðð ñ %Ô$ðð Ô$ð
ð 
ñ %Ô$ð
ð Ô$ðð ñ %Ô$ðð Ô$ðHð Hñ %Ô$ðHð4 ØÔ$ð	Pð 	Pñ %Ô$ñ Ôð	Pð ØÔ$ð	Pð 	Pñ %Ô$ñ Ôð	Pð 	Pð 	Pr'   r   Ú__main__)r   ÚunittestÚ
contextlibr   rŒ   r   r   r   Únumba.core.errorsr   r   r	   Únumba.tests.supportr
   r   r   r   r�   Úmainr-   r'   r   ú<module>rš      s  ðØ €€€Ø €€€Ø %Ð %Ð %Ð %Ð %Ð %à -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -ðMð Mð Mð Mð Mð Mð Mð Mð Mð Mà :Ð :Ð :Ð :Ð :Ð :Ð :Ð :ð ðð ñ „ððoPð oPð oPð oPð oP�hñ oPô oPð oPðd ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr'   