§
    ƒÛgÄ  ã                   óh   — d dl Z d dlmZmZ  G d„ de¦  «        Zedk    r e j        ¦   «          dS dS )é    N)ÚTestCaseÚrun_in_subprocessc                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zd„ ZdS )ÚTestNumbaImportz,
    Test behaviour of importing Numba.
    c                 ó,  — g d¢}|D ]}|dvrt          |¦  «         Œd}t          |¦  «        \  }}t          t          |                     ¦   «         ¦  «        ¦  «        }t          |¦  «        t          |¦  «        z  }|                      |d¦  «         dS )zX
        Importing top-level numba features should not import too many modules.
        )	ÚcffiÚ	distutilsz
numba.cudaúnumba.cpython.mathimplúnumba.cpython.randomimplznumba.testsznumba.core.typing.collectionsznumba.core.typing.listdeclznumba.core.typing.npdatetime)r   z¤if 1:
            from numba import jit, vectorize
            from numba.core import types
            import sys
            print(list(sys.modules))
            ú"some modules unexpectedly importedN)Ú
__import__r   ÚsetÚevalÚstripÚassertFalse)ÚselfÚbanlistÚmodÚcodeÚoutÚ_ÚmodlistÚ
unexpecteds           úM/granary/edev/quantum/lib/python3.11/site-packages/numba/tests/test_import.pyÚtest_lazinesszTestNumbaImport.test_laziness
   s¥   € ð
	ð 	ð 	ˆð ð 	 ð 	 ˆCØ˜)Ð#Ð#Ý˜3‘”�øðˆõ # 4Ñ(Ô(‰ˆˆQÝ•d˜3Ÿ9š9™;œ;Ñ'Ô'Ñ(Ô(ˆÝ˜‘\”\¥C¨¡L¤LÑ0ˆ
Ø×Ò˜Ð%IÑJÔJÐJÐJÐJó    c                 ó  — g d¢}d}d}||fD ]w}t          |¦  «        \  }}t          t          |                     ¦   «         ¦  «        ¦  «        }t          |¦  «        t          |¦  «        z  }|                      |d¦  «         ŒxdS )zé
        Tests that importing jit does not trigger import of modules containing
        lowering implementations that would likely install things in the
        builtins registry and have side effects impacting other targets
        )znumba.cpython.slicingznumba.cpython.tupleobjznumba.cpython.enumimplznumba.cpython.hashingznumba.cpython.heapqznumba.cpython.iteratorsznumba.cpython.numbersznumba.cpython.rangeobjznumba.cpython.cmathimplr
   znumba.cpython.printimplr   znumba.core.optionalznumba.misc.gdb_hookznumba.misc.literalznumba.misc.cffiimplznumba.np.linalgznumba.np.polynomialznumba.np.arraymathznumba.np.npdatetimeznumba.np.npyimplznumba.typed.typeddictznumba.typed.typedlistz numba.experimental.jitclass.basezgif 1:
            import sys
            import numba
            print(list(sys.modules))
            z¯if 1:
            import sys
            from numba import njit
            @njit
            def foo():
                pass
            print(list(sys.modules))
            r   N)r   r   r   r   r   )	r   r   Úcode1Úcode2r   r   r   r   r   s	            r   Útest_no_impl_importz#TestNumbaImport.test_no_impl_import*   s¢   € ð8ð 8ð 8ˆð2ˆðˆð ˜E�Nð 	Oð 	OˆDÝ& tÑ,Ô,‰FˆC�Ý�$˜sŸyšy™{œ{Ñ+Ô+Ñ,Ô,ˆGÝ˜W™œ­¨G©¬Ñ4ˆJØ×Ò˜ZÐ)MÑNÔNÐNÐNð		Oð 	Or   c                 ó2   — d}ddg}t          ||¦  «         d S )Nzimport numbaz-Werrorz/-Wignore::DeprecationWarning:packaging.version:©r   )r   r   Úflagss      r   Útest_no_accidental_warningsz+TestNumbaImport.test_no_accidental_warnings`   s,   € ð ˆð ÐMÐNˆÝ˜$ Ñ&Ô&Ð&Ð&Ð&r   c                 ó(   — d}t          |¦  «         d S )Nzfrom numba import *r"   )r   r   s     r   Útest_import_starz TestNumbaImport.test_import_stari   s   € à$ˆÝ˜$ÑÔÐÐÐr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r    r$   r&   © r   r   r   r      sb   € € € € € ðð ðKð Kð Kð@4Oð 4Oð 4Oðl'ð 'ð 'ð ð  ð  ð  ð  r   r   Ú__main__)ÚunittestÚnumba.tests.supportr   r   r   r'   Úmainr+   r   r   ú<module>r0      s   ðØ €€€Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;ðg ð g ð g ð g ð g �hñ g ô g ð g ðT ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   