+
    X°³j  ã            
       óF  a € R) t30 t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
 ^ RItR]P                  9   t]'       d
   ]R*9  d   Rt]P                  P                  ]'       * RR7      t ^ RIHt R	t]
'       d   ^ R
IHt ]P.                  P1                  ]P.                  P3                  ]4      R4      t]P.                  P1                  ]R4      t]P.                  P1                  ]R4      t]P.                  P1                  ]R4      t]P.                  P1                  ]R4      t]P.                  P1                  ]R4      t ]P.                  P1                  ]R4      t!]! ]"4      t#] ^ k R R lt$R R lt%R R lt&]PN                  ! RRR7      R R l4       t(R R lt)R+t*R,t+Rt,]P                  PZ                  ]P                  P                  ]RR7      ]P                  P]                  R ])! ]]4      4      R! R" l4       4       4       t/]P                  PZ                  ]P                  P                  ]RR7      ]P                  P]                  R ])! ]4      4      R# R$ l4       4       4       t0]P                  Pc                  R%4      ]P                  PZ                  ]P                  P                  ]RR7      ]P                  Pc                  R&4      ]P                  P]                  R ])! ]4      4      R' R( l4       4       4       4       4       t2R#   ] d    Rt EL©i ; i)-é    N)Údefaultdict)ÚTYPE_CHECKINGÚNPY_RUN_MYPY_IN_TESTSUITETz#`NPY_RUN_MYPY_IN_TESTSUITE` not set)Úreason)ÚapiF)ÚParameterSetÚdataÚpassÚfailÚrevealÚmisczmypy.iniz.mypy_cachec                ó0   € V ^8„  d   QhR\         R\         /# )é   ÚkeyÚreturn©Ústr)Úformats   "Ú_/home/luca/screen-checking/.venv/lib/python3.14/site-packages/numpy/typing/tests/test_typing.pyÚ__annotate__r   2   s   € ÷ 6ñ 6”3ð 6œ3ñ 6ó    c                ó°   € \         P                  P                  V 4      w  r\         P                  P                  WP	                  R^4      ^ ,          4      # )zqSplit at the first occurrence of the ``:`` character.

Windows drive-letters (*e.g.* ``C:``) are ignored herein.
Ú:)ÚosÚpathÚ
splitdriveÚjoinÚsplit)r   ÚdriveÚtails   &  r   Ú	_key_funcr!   2   s=   € ô
 —'‘'×$Ñ$ SÓ)�K€EÜ�7‰7�<‰<˜Ÿz™z¨#¨qÓ1°!Õ4Ó5Ð5r   c                óR   € V ^8„  d   QhR\         R\        \        \         3,          /# )r   Úmsgr   )r   ÚtupleÚint)r   s   "r   r   r   ;   s"   € ÷ $ñ $œð $¤¤s¬C x¥ñ $r   c                ó¤   € \         P                  P                  V 4      w  rVP                  R^4      w  rp \	        V4      V P                  4       3# )z7Strip the filename and line number from a mypy message.r   )r   r   r   r   r%   Ústrip)r#   Ú_r    Úlinenos   &   r   Ú_strip_filenamer*   ;   sA   € ä�g‰g× Ñ  Ó%�G€AØ—Z‘Z  QÓ'�N€AˆsÜˆv‹;˜Ÿ	™	›Ð#Ð#r   c                óZ   € V ^8„  d   QhR\         P                  \        ,          R\        /# )r   Úmatchr   )ÚreÚMatchr   )r   s   "r   r   r   B   s"   € ÷ ñ ”b—h‘hœs•mð ¬ñ r   c                ó0   € V P                  4       ^,          # )z4`re.sub` helper function for stripping module names.)Úgroups)r,   s   &r   Ú
strip_funcr1   B   s   € à�<‰<‹>˜!ÕÐr   Úmodule)ÚscopeÚautousec                ó   € V ^8„  d   QhRR/# ©r   r   N© )r   s   "r   r   r   H   s   € ÷ * ñ * �$ñ * r   c                 ó  € \         P                  P                  \        4      '       dJ   \	        \         P
                  P                  RR4      4      '       d   \        P                  ! \        4       \        P                  ! R4      p \        \        \        \        3 Fä  p\        P                   ! R\"        R\        V.4      w  r#pV'       d   \$        P&                  ! RV 2R4       M$VR9  d   \$        P&                  ! RV R	V 2R4       R
pRpVP)                  R4       F[  pRV9   d   K  Vf   \+        V4      pWW R2,          pV P-                  V4      f   K;  \.        V,          P1                  V4       R
pRpK]  	  Kæ  	  R# )zèClears the cache and run mypy before running any of the typing tests.

The mypy results are cached in `OUTPUT_MYPY` for further use.

The cache refresh can be skipped using

NUMPY_TYPING_TEST_CLEAR_CACHE=0 pytest numpy/typing/tests
ÚNUMPY_TYPING_TEST_CLEAR_CACHETz(\s+)?\^(\~+)?z--config-filez--cache-dirz Unexpected mypy standard error

FzUnexpected mypy exit code: z

Ú NÚ
znote:>   r   é   )r   r   ÚisdirÚ	CACHE_DIRÚboolÚenvironÚgetÚshutilÚrmtreer-   ÚcompileÚPASS_DIRÚ
REVEAL_DIRÚFAIL_DIRÚMISC_DIRr   ÚrunÚMYPY_INIÚpytestr   r   r!   r,   ÚOUTPUT_MYPYÚappend)Úsplit_patternÚ	directoryÚstdoutÚstderrÚ	exit_codeÚ
str_concatÚfilenameÚis           r   Úrun_mypyrV   G   s9  € ô 	�‰�‰”i× Ò Ü”—‘—‘Ð ?ÀÓF×GÒGä�Š”iÔ ä—J’JÐ0Ó1€MÜ¤
¬H´hÓ?ˆ	ä$'§G¢GØÜØÜØð-
ó %Ñ!ˆ˜	÷ Ü�KŠKÐ<¸V¸HÐEÀuÕMØ˜fÔ$Ü�KŠKÐ5°i°[ÀÀVÀHÐMÈuÔUàˆ
Ø#ˆØ—‘˜dÖ#ˆAØ˜!Œ|ÙØÒÜ$ Q›<�à˜C˜r˜(Õ"ˆJØ×"Ñ" 1Ó%Ô1Ü˜HÕ%×,Ñ,¨ZÔ8Ø�
Ø’ó $ó! @r   c                ó>   € V ^8„  d   QhR\         R\        R,          /# )r   Údirectoriesr   r   )r   Úlist)r   s   "r   r   r   u   s   € ÷ ñ ¤ð ¬¨nÕ)=ñ r   c            
      óL  € . pV  F›  p\         P                  ! V4       F~  w  r4pV Fr  p\         P                  P                  V4      w  rxVR9  d   K-  \         P                  P	                  W64      p	VP                  \        P                  ! W—R7      4       Kt  	  K€  	  K�  	  V# )ú.pyi)Úid)r[   z.py)r   Úwalkr   Úsplitextr   rM   rK   Úparam)
rX   Ú
test_casesrO   Úrootr(   ÚfilesÚfnameÚshort_fnameÚextÚfullpaths
   *         r   Úget_test_casesrg   u   s…   € Ø€JÛ ˆ	Ü Ÿgšg iÖ0‰NˆD�UÛ�Ü#%§7¡7×#3Ñ#3°EÓ#:Ñ �Ø˜oÔ-ÙäŸ7™7Ÿ<™<¨Ó4�Ø×!Ñ!¤&§,¢,¨xÔ"HÖIó ó 1ñ !ð Ðr   z{}:{} - reveal mismatch:

{}zMypy is not installedr   c                ó   € V ^8„  d   QhRR/# r6   r7   )r   s   "r   r   r   Ž   s   € ÷ 8ñ 8�tñ 8r   c                 ón  € \         pW9  d   R # \        P                  P                  V 4      p. pW,           FH  p\	        V4      w  rVVP                  R4      P                  4       pVP                  V RV RV 24       KJ  	  V'       d*   \        P                  ! RP                  V4      RR7       R # R # )Nzerror:r   z - r;   F©Úpytrace)rL   r   r   Úrelpathr*   ÚremoveprefixÚlstriprM   rK   r   r   )r   Úoutput_mypyrl   ÚmessagesÚmessager)   Úcontents   &      r   Ú	test_passrs   ‹   sž   € ô
 €KàÔÙä�g‰g�o‰o˜dÓ#€Gð €HØ×$Ð$ˆÜ)¨'Ó2‰ˆØ×&Ñ& xÓ0×7Ñ7Ó9ˆØ�‰˜7˜) 1 V H¨C°¨yÐ9Ö:ñ %÷
 Ü�Š�D—I‘I˜hÓ'°×7ñ r   c                ó(   € V ^8„  d   QhR\         RR/# ©r   r   r   Nr   )r   s   "r   r   r   ¥   s   € ÷ ,ñ ,”cð ,˜dñ ,r   c                ó’  € Rp\         pW9  d   R# \        P                  P                  V 4      p. pW ,           FR  p\	        V4      w  rg\
        P                  ! V\        4      p\        P                  W6V4      pVP                  V4       KT  	  V'       d0   \        P                  V4      p	\        P                  ! V	RR7       R# R# )zSValidate that mypy correctly infers the return-types of
the expressions in `path`.
TNFrj   )rL   r   r   rl   r*   ÚtextwrapÚindentÚ_FAIL_INDENTÚ_FAIL_MSG_REVEALr   rM   Ú	_FAIL_SEPr   rK   r   )
r   Ú__tracebackhide__ro   rl   ÚfailuresÚ
error_liner)   Ú	error_msgr   Úreasonss
   &         r   Útest_revealr�   ¢   s¢   € ð Ðä€KØÔÙä�g‰g�o‰o˜dÓ#€Gð €HØ!×'Ð'ˆ
Ü+¨JÓ7ÑˆÜ—O’O I¬|Ó<ˆ	Ü!×(Ñ(¨¸)ÓDˆØ�‰˜Öñ	 (÷ Ü—.‘. Ó*ˆÜ�Š�G U×+ñ r   zignore::DeprecationWarningz1ignore:numpy.fix is deprecated:DeprecationWarningc                ó(   € V ^8„  d   QhR\         RR/# ru   r   )r   s   "r   r   r   Ã   s   € ÷ )ñ )œð ) ñ )r   c                óz  € \         P                  P                  V 4      w  rV P                  \         P                  4      RR w  r4\
        P                  P                  V RV 2V 4      pVf   Q hVP                  f   Q h\
        P                  P                  V4      pVP                  P                  V4       R# )z9Validate that the code in `path` properly during runtime.NÚ.éþÿÿÿ)r   r   r^   r   ÚsepÚ	importlibÚutilÚspec_from_file_locationÚloaderÚmodule_from_specÚexec_module)r   Úpath_without_extensionr(   ÚdirnamerT   ÚspecÚtest_modules   &      r   Útest_code_runsr‘   ¾   s    € ô !#§¡× 0Ñ 0°Ó 6ÑÐØŸ
™
¤2§6¡6Ó*¨2¨3Ð/Ñ€Gä�>‰>×1Ñ1Øˆ)�1�X�JÐ ó€Dð ÒÐÐØ�;‰;Ò"Ð"Ð"ä—.‘.×1Ñ1°$Ó7€KØ‡K�K×Ñ˜KÖ(r   c                óx   € V ^8„  d   Qh/ ^ \         9   d&   \        \        \        \        ,          3,          ;R&   # )r   rL   )Ú__conditional_annotations__r   r   rY   )r   s   "r   r   r      s)   € × Ñ ÷\ =Ò <Œ[œœd¤3�i˜Õ(Ñ <ò] r   )Ú0r:   Úfalsez    zR
_______________________________________________________________________________

)4r“   Úimportlib.utilr‡   r   r-   rB   rw   Úcollectionsr   Útypingr   rK   r@   ÚRUN_MYPYÚmarkÚskipifÚ
pytestmarkÚmypyr   ÚNO_MYPYÚImportErrorÚ_pytest.mark.structuresr   r   r   rŽ   Ú__file__ÚDATA_DIRrE   rG   rF   rH   rJ   r>   rY   rL   r!   r*   r1   ÚfixturerV   rg   ry   r{   rz   ÚslowÚparametrizers   r�   Úfilterwarningsr‘   r   )r“   s   @r   Ú<module>r§      sÁ  øðß Ð Û 	Û 	Û Û Ý #Ý  ã ð
 '¨"¯*©*Ñ4€ß�Ð 2Ô2Ø€Hð �[‰[×ÑØ„LØ0ð  ó €
ðÝð €Gçõ 5à�7‰7�<‰<˜Ÿ™Ÿ™¨Ó1°6Ó:€Ø�7‰7�<‰<˜ &Ó)€Ø�7‰7�<‰<˜ &Ó)€Ø�W‰W�\‰\˜( HÓ-€
Ø�7‰7�<‰<˜ &Ó)€Ø�7‰7�<‰<˜ *Ó-€Ø�G‰G�L‰L˜ =Ó1€	ñ ,7°tÓ+<€Ó <õ6õ$õð
 ‡‚�h¨Ô-ô* ó .ð* õZð €Ø$€	ðÐ ð
 ‡�×ÑØ‡�×Ñ�GÐ$;ÐÓ<Ø‡�×Ñ˜¡°¸(Ó!CÓDô8ó Eó =ó ð8ð( ‡�×ÑØ‡�×Ñ�GÐ$;ÐÓ<Ø‡�×Ñ˜¡°
Ó!;Ó<ô,ó =ó =ó ð,ð2 ‡�×ÑÐ8Ó9Ø‡�×ÑØ‡�×Ñ�GÐ$;ÐÓ<Ø‡�×ÑÐOÓPØ‡�×Ñ˜¡°Ó!9Ó:ô)ó ;ó Qó =ó ó :ò
)øðQ ô ØƒGðús   Á.L Ì	L ÌL 