+
    Bi+
                         ^ RI t^ RIt^ RIt^ RIHt ^ RIHt ^ RIHtH	t	 ]P                  ! RR7       R tR tR	 t]P                  ! ]	R
4       ! R R]4      4       tR# )    N)Barrier)TestCase)threading_helperPy_GIL_DISABLEDT)modulec                 N    VP                  4        \        P                  ! V 4      # N)waitinspectget_annotationsfbs   &&E/usr/lib/python3.14/test/test_free_threading/test_func_annotations.pyget_func_annotationr      s    FFH""1%%    c                 :    VP                  4        V P                  # r	   )r
   __annotations__r   s   &&r   get_func_annotation_dunderr      s    FFHr   c                 l    VP                  4        R \        R\        R\        /V n        V P                  # )xyreturn)r
   intr   r   s   &&r   set_func_annotationr      s,    FFHc3Xs;Ar   zEnable only in FT buildc                   0   a  ] tR t^t o ^tR tR tRtV tR# )TestFTFuncAnnotationsc                T   R  R lp\        ^
4       EF  p\        P                  P                  V P                  R7      ;_uu_ 4       p\        V P                  4      p\        V P                  4       Uu/ uF  qSP                  \        W4      VbK  	  pp\        P                  P                  V4       FB  pVP                  4       pV P                  V4       V P                  VR\        R\        /4       KD  	  RRR4       \        P                  P                  V P                  R7      ;_uu_ 4       p\        V P                  4      p\        V P                  4       Uu/ uF  qSP                  \        W4      VbK  	  pp\        P                  P                  V4       FB  pVP                  4       pV P                  V4       V P                  VR\        R\        /4       KD  	  RRR4       EK  	  R# u upi   + '       g   i     EL
; iu upi   + '       g   i     EK  ; i)c                0    V ^8  d   QhR\         R\         /# )   r   r   )r   )formats   "r   __annotate__@TestFTFuncAnnotations.test_concurrent_read.<locals>.__annotate__!   s     	 	 	 	r   c                     V ^,           # )    )r   s   &r   r   5TestFTFuncAnnotations.test_concurrent_read.<locals>.f!   s    q5Lr   max_workersr   r   N)range
concurrentfuturesThreadPoolExecutorNUM_THREADSr   submitr   as_completedresultassertIsNotNoneassertEqualr   r   )	selfr   _executorr   ir,   futannotates	   &        r   test_concurrent_read*TestFTFuncAnnotations.test_concurrent_read    s   	 rA##664CSCS6TTX`D,,-RWX\XhXhRijRiQ??+>EqHRij%--::7CC"zz|H((2$$XS(C/HI D U ##664CSCS6TTX`D,,-Y^_c_o_oYpqYpTU??+EqLaOYpq%--::7CC"zz|H((2$$XS(C/HI D UT  k UTT r UTTs>   -G<5G7
A'G<5-H"H
A'H7G<<HHH'c                   R  R lp\        ^
4       EF%  p\        P                  P                  V P                  R7      ;_uu_ 4       p\        V P                  4      p\        V P                  4       Uu/ uF  qSP                  \        W4      VbK  	  pp\        P                  P                  V4       FH  pVP                  4       pV P                  V4       V P                  VR\        R\        R\        /4       KJ  	  RRR4       V P                  VP                  R\        R\        R\        /4       EK(  	  R# u upi   + '       g   i     LJ; i)c                <    V ^8  d   QhR\         R\        R\        /# )r    r   r   r   )r   float)r!   s   "r   r"   ATestFTFuncAnnotations.test_concurrent_write.<locals>.__annotate__6   s!     	 	3 	5 	U 	r   c                     W,          # r	   r&   )r   r   s   &&r   bar8TestFTFuncAnnotations.test_concurrent_write.<locals>.bar6   s	    6Mr   r(   r   r   r   N)r*   r+   r,   r-   r.   r   r/   r   r0   r1   r2   r3   r   r   )	r4   rA   r5   r6   r   r7   r,   r8   r9   s	   &        r   test_concurrent_write+TestFTFuncAnnotations.test_concurrent_write5   s	   	 rA##664CSCS6TTX`D,,-TYZ^ZjZjTklTkq??+>GJTkl%--::7CC"zz|H((2$$XS#sHc/RS D U S003S#xQT2UV  m UTs   -E5D>
A-E>EEr&   N)	__name__
__module____qualname____firstlineno__r.   r:   rC   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s     KJ*W Wr   r   )concurrent.futuresr+   unittestr   	threadingr   r   test.supportr   r   requires_working_threadingr   r   r   
skipUnlessr   r&   r   r   <module>rR      sa         :  + +4 8&

 
_&?@&WH &W A&Wr   