HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/test/__pycache__/test_positional_only_arg.cpython-311.opt-1.pyc
�

��Vc�H���dZddlZddlZddlZddlmZd�Zd�Zdd�ZGd	�d
ej	��Z
edkrej��dSdS)
zHUnit tests for the positional only argument syntax specified in PEP 570.�N��check_syntax_errorc�
�||fS�N���a�bs  �1D:\Python311\Lib\test\test_positional_only_arg.py�global_pos_only_fr
����a�4�K�c�
�||fSrrrs  r�global_pos_only_and_normalr
r
r��c�
�||fSrrrs  r�global_pos_only_defaultsrr
rc��eZdZd d�Zd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)!�PositionalOnlyTestCase�invalid syntaxc��|�t|��5t|dzdd��ddd��dS#1swxYwYdS)N�
�<test>�single)�assertRaisesRegex�SyntaxError�compile)�self�codestr�regexs   r�assertRaisesSyntaxErrorz.PositionalOnlyTestCase.assertRaisesSyntaxErrors���
�
#�
#�K��
7�
7�	8�	8��G�d�N�H�h�7�7�7�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�	8�	8s�>�A�Ac�r�t|dd��t|dd��t|dd��t|dd��t|d��t|d��t|d��t|d	��t|d
��t|d��t|d��t|d
��t|dd��t|dd��t|d��t|d��t|d��t|d��t|d��dS)Nzdef f(a, b = 5, /, c): pass�-non-default argument follows default argumentzdef f(a = 5, b, /, c): passz%def f(a = 5, b=1, /, c, *, d=2): passzdef f(a = 5, b, /): passzdef f(*args, /): passzdef f(*args, a, /): passzdef f(**kwargs, /): passzdef f(/, a = 1): passzdef f(/, a): passzdef f(/): passzdef f(*, a, /): passzdef f(*, /, a): passzdef f(a, /, a): pass�-duplicate argument 'a' in function definitionzdef f(a, /, *, a): passzdef f(a, b/2, c): passzdef f(a, /, c, /): passzdef f(a, /, c, /, d): passz def f(a, /, c, /, d, *, e): passzdef f(a, *, c, /, d, e): passr�rs r�test_invalid_syntax_errorsz1PositionalOnlyTestCase.test_invalid_syntax_errorss]���4�!>�@o�p�p�p��4�!>�@o�p�p�p��4�!H�Jy�z�z�z��4�!;�=l�m�m�m��4�!8�9�9�9��4�!;�<�<�<��4�!;�<�<�<��4�!8�9�9�9��4�!4�5�5�5��4�!1�2�2�2��4�!7�8�8�8��4�!7�8�8�8��4�!7�9h�i�i�i��4�!:�<k�l�l�l��4�!9�:�:�:��4�!:�;�;�;��4�!=�>�>�>��4�!C�D�D�D��4�!@�A�A�A�A�Arc�r�t|dd��t|dd��t|dd��t|dd��t|d��t|d��t|d��t|d	��t|d
��t|d��t|d��t|d
��t|dd��t|dd��t|d��t|d��t|d��t|d��t|d��dS)Nz!async def f(a, b = 5, /, c): passr$z!async def f(a = 5, b, /, c): passz(async def f(a = 5, b=1, /, c, d=2): passzasync def f(a = 5, b, /): passzasync def f(*args, /): passzasync def f(*args, a, /): passzasync def f(**kwargs, /): passzasync def f(/, a = 1): passzasync def f(/, a): passzasync def f(/): passzasync def f(*, a, /): passzasync def f(*, /, a): passzasync def f(a, /, a): passr%zasync def f(a, /, *, a): passzasync def f(a, b/2, c): passzasync def f(a, /, c, /): passz async def f(a, /, c, /, d): passz&async def f(a, /, c, /, d, *, e): passz#async def f(a, *, c, /, d, e): passrr&s r� test_invalid_syntax_errors_asyncz7PositionalOnlyTestCase.test_invalid_syntax_errors_async.s]���4�!D�Fu�v�v�v��4�!D�Fu�v�v�v��4�!K�M|�}�}�}��4�!A�Cr�s�s�s��4�!>�?�?�?��4�!A�B�B�B��4�!A�B�B�B��4�!>�?�?�?��4�!:�;�;�;��4�!7�8�8�8��4�!=�>�>�>��4�!=�>�>�>��4�!=�?n�o�o�o��4�!@�Bq�r�r�r��4�!?�@�@�@��4�!@�A�A�A��4�!C�D�D�D��4�!I�J�J�J��4�!F�G�G�G�G�Grc�*�dd�}|�|ddd��d��|�|ddd���d��|�td	��5|ddd�
��ddd��n#1swxYwY|�|dd��d��|�td	��5|dd���ddd��n#1swxYwY|�|dd���d
��dd�}|�|ddd��d��|�|ddd���d��|�td	��5|ddd�
��ddd��n#1swxYwY|�|dd��d��|�td	��5|dd���ddd��n#1swxYwY|�|dd���d
��dS)N�
�dc��||z|zSrr�r	r
�cs   r�fzDPositionalOnlyTestCase.test_optional_positional_only_args.<locals>.fD����q�5�1�9�rrr���r/�If\(\) got some positional-only arguments passed as keyword arguments: 'b'�r
r/�g�r
�
c��||z|zSrrr.s   rr0zDPositionalOnlyTestCase.test_optional_positional_only_args.<locals>.fQr1r)r+r,)rr+r,��assertEqualr�	TypeError�rr0s  r�"test_optional_positional_only_argsz9PositionalOnlyTestCase.test_optional_positional_only_argsCs@��	�	�	�	�	
�����1�a����Q�'�'�'������1�a�1����q�)�)�)�
�
#�
#�I�/{�
|�
|�	�	�
�A�a�1��N�N�N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
�����1�a���#�&�&�&�
�
#�
#�I�/{�
|�
|�	�	�
�A�a�1�I�I�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	������1�����B�'�'�'�	�	�	�	�	
�����1�a����Q�'�'�'������1�a�1����q�)�)�)�
�
#�
#�I�/{�
|�
|�	�	�
�A�a�1��N�N�N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
�����1�a���#�&�&�&�
�
#�
#�I�/{�
|�
|�	�	�
�A�a�1�I�I�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	������1�����B�'�'�'�'�'sH�#A>�>B�B�C�C"�%C"�,F�F�F�
G'�'G+�.G+c��dd�d�td��D����z}t|dd��dS)N�def f(%s, /):
  pass
�, c3� K�|]	}d|zV��
dS�zi%dNr��.0�is  r�	<genexpr>zNPositionalOnlyTestCase.test_syntax_for_many_positional_only.<locals>.<genexpr>`�&����6U�6U�Q�u�q�y�6U�6U�6U�6U�6U�6Ur�,rr��join�ranger�r�fundefs  r�$test_syntax_for_many_positional_onlyz;PositionalOnlyTestCase.test_syntax_for_many_positional_only^�F��*�T�Y�Y�6U�6U�%�PS�*�*�6U�6U�6U�-U�-U�U�����(�+�+�+�+�+rc��ddd�d�}|�d|jj��|�d|jj��|�d|j��d
dd�d	�}|�d|jj��|�d|jj��|�d
|j��dS)Nrr)�gc��dSrr�r	r
r/�d�er0rSs       rr0z:PositionalOnlyTestCase.test_pos_only_definition.<locals>.fd����Dr�r2)r�c��dSrrrUs       rr0z:PositionalOnlyTestCase.test_pos_only_definition.<locals>.fkrXr�rrr2)r<�__code__�co_argcount�co_posonlyargcount�__defaults__r>s  r�test_pos_only_definitionz/PositionalOnlyTestCase.test_pos_only_definitioncs���	�!�	�	�	�	�	�	
����A�J�2�3�3�3�����A�J�9�:�:�:�����q�~�.�.�.�	�a�	�	�	�	�	�	
����A�J�2�3�3�3�����A�J�9�:�:�:�����A�N�3�3�3�3�3rc�B�d�}|�|ddg�d��dS)Nc��||zSrrrs  rr0zBPositionalOnlyTestCase.test_pos_only_call_via_unpacking.<locals>.fss���q�5�Lrrrr2�r<r>s  r� test_pos_only_call_via_unpackingz7PositionalOnlyTestCase.test_pos_only_call_via_unpackingrs9��	�	�	�	
�����Q��F��Q�'�'�'�'�'rc��d�}d}|�t|��5|d���ddd��n#1swxYwYd�}d}|�t|��5|dd���ddd��n#1swxYwYd�}d	}|�t|��5|dd���ddd��dS#1swxYwYdS)
Nc��dSrr�r	s rr0z@PositionalOnlyTestCase.test_use_positional_as_keyword.<locals>.fyrXr�If\(\) got some positional-only arguments passed as keyword arguments: 'a'rrhc��dSrrrs  rr0z@PositionalOnlyTestCase.test_use_positional_as_keyword.<locals>.frXrrrc��dSrrrs  rr0z@PositionalOnlyTestCase.test_use_positional_as_keyword.<locals>.f�rXrzLf\(\) got some positional-only arguments passed as keyword arguments: 'a, b'�rr=)rr0�expecteds   r�test_use_positional_as_keywordz5PositionalOnlyTestCase.test_use_positional_as_keywordxs���	�	�	�_��
�
#�
#�I�x�
8�
8�	�	�
�A��F�F�F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�_��
�
#�
#�I�x�
8�
8�	�	�
�A��Q�K�K�K�K�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�b��
�
#�
#�I�x�
8�
8�	�	�
�A��Q�K�K�K�K�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s1�
:�>�>�%A?�?B�B�*C�C	�C	c��d�}|�td��5|dd��ddd��n#1swxYwY|�td��5|d��ddd��n#1swxYwY|�td��5|��ddd��n#1swxYwY|�td��5|dddd	��ddd��dS#1swxYwYdS)
Nc��dSrrr.s   rr0zLPositionalOnlyTestCase.test_positional_only_and_arg_invalid_calls.<locals>.f�rXr�1f\(\) missing 1 required positional argument: 'c'rr�:f\(\) missing 2 required positional arguments: 'b' and 'c'z@f\(\) missing 3 required positional arguments: 'a', 'b', and 'c'z3f\(\) takes 3 positional arguments but 4 were givenr2rZrlr>s  r�*test_positional_only_and_arg_invalid_callszAPositionalOnlyTestCase.test_positional_only_and_arg_invalid_calls�s
��	�	�	�
�
#�
#�I�/c�
d�
d�	�	�
�A�a��G�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/l�
m�
m�	�	�
�A�a�D�D�D�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/r�
s�
s�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/e�
f�
f�	�	�
�A�a��A�q�M�M�M�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sB�
8�<�<�A6�6A:�=A:�B3�3B7�:B7�C5�5C9�<C9c��d	d�}|dd��|�td��5|d��ddd��n#1swxYwY|�td��5|��ddd��n#1swxYwY|�td��5|dddd��ddd��dS#1swxYwYdS)
Nr2c��dSrrr.s   rr0zUPositionalOnlyTestCase.test_positional_only_and_optional_arg_invalid_calls.<locals>.f�rXrrr�1f\(\) missing 1 required positional argument: 'b'�:f\(\) missing 2 required positional arguments: 'a' and 'b'z=f\(\) takes from 2 to 3 positional arguments but 4 were givenrZ)r2rlr>s  r�3test_positional_only_and_optional_arg_invalid_callszJPositionalOnlyTestCase.test_positional_only_and_optional_arg_invalid_calls�s���	�	�	�	�	��!�Q����
�
#�
#�I�/c�
d�
d�	�	�
�A�a�D�D�D�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/l�
m�
m�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/o�
p�
p�	�	�
�A�a��A�q�M�M�M�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s5�A�A�A�*B�B�B�'C�C�
Cc��d�}|ddddd���|�td��5|dddd���ddd��n#1swxYwY|�td��5|ddd��ddd��n#1swxYwY|�td	��5|dd��ddd��n#1swxYwY|�td
��5|d��ddd��n#1swxYwY|�td��5|��ddd��n#1swxYwY|�td��5|dddd
dddd���ddd��n#1swxYwY|�td��5|ddddd
d���ddd��dS#1swxYwYdS)Nc��dSrr)r	r
r/rVrWs     rr0zSPositionalOnlyTestCase.test_positional_only_and_kwonlyargs_invalid_calls.<locals>.f�rXrrrr2)rVrWz-missing 1 required keyword-only argument: 'd')rWz6missing 2 required keyword-only arguments: 'd' and 'e'rqrrz; missing 3 required positional arguments: 'a', 'b', and 'c'zif\(\) takes 3 positional arguments but 6 positional arguments \(and 2 keyword-only arguments\) were givenrZrYr3��z,f\(\) got an unexpected keyword argument 'f'�8)rVrWr0rlr>s  r�1test_positional_only_and_kwonlyargs_invalid_callszHPositionalOnlyTestCase.test_positional_only_and_kwonlyargs_invalid_calls�s���	�	�	�	��!�Q��Q�!�����
�
#�
#�I�/_�
`�
`�	�	�
�A�a��A��O�O�O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/h�
i�
i�	�	�
�A�a��A�J�J�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/c�
d�
d�	�	�
�A�a��G�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/l�
m�
m�	�	�
�A�a�D�D�D�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/m�
n�
n�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�0^�_�_�	*�	*�
�A�a��A�q�!�Q�!�q�)�)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*��
#�
#�I�/^�
_�
_�	'�	'�
�A�a��A��a�2�&�&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	'�	's}�A�A�A�1B�B�B�1
C
�
C�C�0D�D�D�.E�E	�E	�+F�F�F�1G�G�Gc��d�}|dd��|�td��5|d��ddd��n#1swxYwY|�td��5|��ddd��n#1swxYwY|�td��5|ddd��ddd��dS#1swxYwYdS)Nc��dSrrrs  rr0zDPositionalOnlyTestCase.test_positional_only_invalid_calls.<locals>.f�rXrrrrvrwz3f\(\) takes 2 positional arguments but 3 were givenr2rlr>s  r�"test_positional_only_invalid_callsz9PositionalOnlyTestCase.test_positional_only_invalid_calls�s���	�	�	�	��!�Q����
�
#�
#�I�/c�
d�
d�	�	�
�A�a�D�D�D�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/l�
m�
m�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/e�
f�
f�	�	�
�A�a��A�J�J�J�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s5�A�A�
A�)B�B�B�&C�C�Cc� �dd�}|d��|�td��5|��ddd��n#1swxYwY|�td��5|ddd��ddd��dS#1swxYwYdS)Nrc��dSrrrs  rr0zRPositionalOnlyTestCase.test_positional_only_with_optional_invalid_calls.<locals>.f�rXrrz1f\(\) missing 1 required positional argument: 'a'z=f\(\) takes from 1 to 2 positional arguments but 3 were givenr2�rrlr>s  r�0test_positional_only_with_optional_invalid_callszGPositionalOnlyTestCase.test_positional_only_with_optional_invalid_calls�s(��	�	�	�	�	��!����
�
#�
#�I�/c�
d�
d�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�/o�
p�
p�	�	�
�A�a��A�J�J�J�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s#�A�A�	A�(B�B�
Bc��d�}|ddd���|�t��5|ddd���ddd��dS#1swxYwYdS)Nc��dSrrr.s   rr0z=PositionalOnlyTestCase.test_no_standard_args_usage.<locals>.f�rXrrrr2r4r6)�assertRaisesr=r>s  r�test_no_standard_args_usagez2PositionalOnlyTestCase.test_no_standard_args_usage�s���	�	�	�	
��!�Q�!�����
�
�
�y�
)�
)�	�	�
�A�a�1��N�N�N�N�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�Ac��dd�}|�d|j��d|_|�|ddd��d��dS)Nrr2c��||z|zSrrr.s   rr0z>PositionalOnlyTestCase.test_change_default_pos_only.<locals>.f�r1r)rr2r\rr3)r<r`r>s  r�test_change_default_pos_onlyz3PositionalOnlyTestCase.test_change_default_pos_only�s_��	�	�	�	�	
������/�/�/�"��������1�a����Q�'�'�'�'�'rc�`�d�}|�|dd��d��|�|dd���d��d	d�}|�|d��d��d�}|�|dd��d��d�}|�|dd��d��dS)
Nc��||zSrrrs  r�<lambda>z5PositionalOnlyTestCase.test_lambdas.<locals>.<lambda>��
��A��E�rrrr2r8c��||zSrrrs  rr�z5PositionalOnlyTestCase.test_lambdas.<locals>.<lambda>��
��a�!�e�rc��||zSrrrs  rr�z5PositionalOnlyTestCase.test_lambdas.<locals>.<lambda>�r�rc��||zSrrrs  rr�z5PositionalOnlyTestCase.test_lambdas.<locals>.<lambda>�r�rr�rd)r�xs  r�test_lambdasz#PositionalOnlyTestCase.test_lambdas�s���!�!�������1�Q����#�#�#������1�q����1�%�%�%�#�#�#�������1���q�!�!�!�!�!�������1�a���!�$�$�$�#�#�������1�a���!�$�$�$�$�$rc�0�t|dd��t|dd��t|dd��t|d��t|d��t|d��t|d��t|d	��t|d
��t|d��t|d��t|d
d��t|dd��t|d��t|d��t|d��t|d��dS)Nzlambda a, b = 5, /, c: Noner$zlambda a = 5, b, /, c: Nonezlambda a = 5, b, /: Nonezlambda *args, /: Nonezlambda *args, a, /: Nonezlambda **kwargs, /: Nonezlambda /, a = 1: Nonezlambda /, a: Nonezlambda /: Nonezlambda *, a, /: Nonezlambda *, /, a: Nonezlambda a, /, a: Noner%zlambda a, /, *, a: Nonezlambda a, /, b, /: Nonezlambda a, /, b, /, c: Nonez lambda a, /, b, /, c, *, d: Nonezlambda a, *, b, /, c: Nonerr&s r�test_invalid_syntax_lambdaz1PositionalOnlyTestCase.test_invalid_syntax_lambda�s8���4�!>�@o�p�p�p��4�!>�@o�p�p�p��4�!;�=l�m�m�m��4�!8�9�9�9��4�!;�<�<�<��4�!;�<�<�<��4�!8�9�9�9��4�!4�5�5�5��4�!1�2�2�2��4�!7�8�8�8��4�!7�8�8�8��4�!7�9h�i�i�i��4�!:�<k�l�l�l��4�!:�;�;�;��4�!=�>�>�>��4�!C�D�D�D��4�!=�>�>�>�>�>rc���Gd�d��}|�|���dd��d��|�|�|��dd��d��|�t|jdd��d}|�t|��5|���dd���ddd��dS#1swxYwYdS)Nc��eZdZd�ZdS)�<PositionalOnlyTestCase.test_posonly_methods.<locals>.Examplec�
�||fSrr)rr	r
s   rr0z>PositionalOnlyTestCase.test_posonly_methods.<locals>.Example.f�s���!�t�rN)�__name__�
__module__�__qualname__r0rrr�Exampler��s#������
�
�
�
�
rr�rr�rrr5r8)r<r0r�r=r)rr�rms   r�test_posonly_methodsz+PositionalOnlyTestCase.test_posonly_methods�s9��	�	�	�	�	�	�	�	�	
���������Q��*�*�F�3�3�3�������7�7�9�9�a��3�3�V�<�<�<����)�W�Y��1�5�5�5�_��
�
#�
#�I�x�
8�
8�	 �	 ��G�I�I�K�K��Q�K����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	 �	 s�2 C�C#�&C#c��|�td��5t��ddd��dS#1swxYwYdS)Nrw)rr=rr&s r�test_module_functionz+PositionalOnlyTestCase.test_module_functions���
�
#�
#�I�/l�
m�
m�	 �	 �����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	 �	 s�8�<�<c�^�d�}|�|dd��dd��d��|�td��5|dd��d��ddd��n#1swxYwY|�td��5|dd��ddd	��ddd��n#1swxYwYd
�}|�|dd��dd��d��d�}|�|dd��dd��d��|�td��5|dd��d��ddd��n#1swxYwY|�td��5|dd��ddd	��ddd��dS#1swxYwYdS)Nc������fd�}|S)Nc�����z|z|zSrr��x2�y2r��ys  ��rrSz:PositionalOnlyTestCase.test_closures.<locals>.f.<locals>.g�����1�u�r�z�B��&rr�r�r�rSs`` rr0z/PositionalOnlyTestCase.test_closures.<locals>.f�'����
'�
'�
'�
'�
'�
'��Hrrrr2rZr+z2g\(\) missing 1 required positional argument: 'y2'z3g\(\) takes 2 positional arguments but 3 were givenrYc������fd�}|S)Nc�����z|z|zSrrr�s  ��rrSz:PositionalOnlyTestCase.test_closures.<locals>.f.<locals>.gr�rrr�s`` rr0z/PositionalOnlyTestCase.test_closures.<locals>.fr�rc������fd�}|S)Nc�����z|z|zSrrr�s  ��rrSz:PositionalOnlyTestCase.test_closures.<locals>.f.<locals>.g!r�rrr�s`` rr0z/PositionalOnlyTestCase.test_closures.<locals>.f r�rr;r>s  r�
test_closuresz$PositionalOnlyTestCase.test_closures
s���	�	�	�
	
������1�Q����!���b�)�)�)�
�
#�
#�I�/d�
e�
e�	�	��A�A�a��F�F�1�I�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/e�
f�
f�	�	��A�A�a��F�F�1�Q�q�M�M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�
	
������1�Q����!���b�)�)�)�	�	�	�
	
������1�Q����!���b�)�)�)�
�
#�
#�I�/d�
e�
e�	�	��A�A�a��F�F�1�I�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/e�
f�
f�	�	��A�A�a��F�F�1�Q�q�M�M�M�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sH�	A+�+A/�2A/�B5�5B9�<B9�5E�E�E�=F"�"F&�)F&c�,�d�}Gd�d��}d�}dS)Nc��dtfd�}|S)Nr�c��dSrr�r�s rr0zZPositionalOnlyTestCase.test_annotations_in_closures.<locals>.inner_has_pos_only.<locals>.f.����r��int�r0s r�inner_has_pos_onlyzOPositionalOnlyTestCase.test_annotations_in_closures.<locals>.inner_has_pos_only-s��!�S�!�!�!�!��Hrc��eZdZd�ZdS)�FPositionalOnlyTestCase.test_annotations_in_closures.<locals>.Somethingc��dtfd�}|S)Nr�c��dSrrr�s rr0zXPositionalOnlyTestCase.test_annotations_in_closures.<locals>.Something.method.<locals>.f5r�rr�r>s  r�methodzMPositionalOnlyTestCase.test_annotations_in_closures.<locals>.Something.method4���%��%�%�%�%��rN�r�r�r�r�rrr�	Somethingr�3s#������
�
�
�
�
rr�c��d�}|��S)Nc��dtfd�}|S)Nr�c��dSrrr�s rr0zsPositionalOnlyTestCase.test_annotations_in_closures.<locals>.multiple_levels.<locals>.inner_has_pos_only.<locals>.f<r�rr�r�s rr�zhPositionalOnlyTestCase.test_annotations_in_closures.<locals>.multiple_levels.<locals>.inner_has_pos_only;r�rr)r�s r�multiple_levelszLPositionalOnlyTestCase.test_annotations_in_closures.<locals>.multiple_levels:s"��
�
�
�&�%�'�'�'rr)rr�r�r�s    r�test_annotations_in_closuresz3PositionalOnlyTestCase.test_annotations_in_closures+sR��	�	�	�	�	�	�	�	�	�	�	�	(�	(�	(�	(�	(rc��d�}|�|dd���dddif��|�td��5|d���ddd��n#1swxYwY|�|d��dif��dS)Nc�
�||fSrr)�	something�kwargss  rr0zMPositionalOnlyTestCase.test_same_keyword_as_positional_with_kwargs.<locals>.fCs
���v�&�&r�*)r�r�z9f\(\) missing 1 required positional argument: 'something'r;r>s  r�+test_same_keyword_as_positional_with_kwargszBPositionalOnlyTestCase.test_same_keyword_as_positional_with_kwargsBs���	'�	'�	'�	
�����2��,�,�,�r�K��3D�.E�F�F�F�
�
#�
#�I�/k�
l�
l�	�	�
�A��O�O�O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
�����2����R��)�)�)�)�)s�
A�A!�$A!c�@�Gd�d��}|�|�����d��|�|�����d��|�|�����d��dS)Nc�,�eZdZd	d�Zd
d�Zd
dd�d�ZdS)�/PositionalOnlyTestCase.test_mangling.<locals>.Xr�c��|Srr)r�_X__as  rr0z1PositionalOnlyTestCase.test_mangling.<locals>.X.fOs���
r�+c�
�||fSrr)rr��_X__bs   r�f2z2PositionalOnlyTestCase.test_mangling.<locals>.X.f2Rs���S�z�!r�,)�_X__cc��|||fSrr)rr�r�r�s    r�f3z2PositionalOnlyTestCase.test_mangling.<locals>.X.f3Us���S�#��&rN)r��r�r�)r�r�r�r0r�r�rrr�Xr�Ns\������
�
�
�
�
"�
"�
"�
"�
'�2�
'�
'�
'�
'�
'�
'�
'rr�r�r�)r�r�r�)r<r0r�r�)rr�s  r�
test_manglingz$PositionalOnlyTestCase.test_manglingMs���	'�	'�	'�	'�	'�	'�	'�	'�	
�����������"�%�%�%������������8�,�,�,������������<�0�0�0�0�0rc��dd�d�td��D����z}t|dd��dS)NrArBc3� K�|]	}d|zV��
dSrDrrEs  rrHzAPositionalOnlyTestCase.test_too_many_arguments.<locals>.<genexpr>^rIrrJrrrKrNs  r�test_too_many_argumentsz.PositionalOnlyTestCase.test_too_many_arguments\rQrc�^�tjt��}tjt��}tjt��}tj|��}tj|��}tj|��}|�|dd��d��d}|�t|��5|dd���ddd��n#1swxYwY|�|dd��d��d}|�t|��5|dd���ddd��n#1swxYwY|�|��d��d}|�t|��5|dd���ddd��dS#1swxYwYdS)Nrrr�z\global_pos_only_f\(\) got some positional-only arguments passed as keyword arguments: 'a, b'rzbglobal_pos_only_and_normal\(\) got some positional-only arguments passed as keyword arguments: 'a'z`global_pos_only_defaults\(\) got some positional-only arguments passed as keyword arguments: 'a')	�pickle�dumpsrrr�loadsr<rr=)r�pickled_posonly�pickled_optional�pickled_defaults�unpickled_posonly�unpickled_optional�unpickled_defaultsrms        r�test_serializationz)PositionalOnlyTestCase.test_serializationasy�� �,�'8�9�9��!�<�(B�C�C��!�<�(@�A�A��"�L��9�9��#�\�*:�;�;��#�\�*:�;�;�����*�*�1�Q�/�/��7�7�7�:��
�
#�
#�I�x�
8�
8�	'�	'����A�&�&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	
���+�+�A�a�0�0�%�8�8�8�7��
�
#�
#�I�x�
8�
8�	(�	(����Q�'�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�	
���+�+�-�-�u�5�5�5�7��
�
#�
#�I�x�
8�
8�	(�	(����Q�'�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�	(�	(s6�C�C#�&C#�'E�E�E�F"�"F&�)F&c����dd����td��5�dd���ddd��n#1swxYwY��fd�}|dd��|dd���|d��|��dS)	Nrrc��K�||fSrrrs  rr0z,PositionalOnlyTestCase.test_async.<locals>.f~s�����a�4�Krrirc���	�|i|��}|�d��n#t$r}|j}Yd}~nd}~wwxYw��|d��dS)Nr�)�send�
StopIteration�valuer<)�argsr��cororW�resultr0rs     ��r�_check_callz6PositionalOnlyTestCase.test_async.<locals>._check_call�sy���
!��q�$�)�&�)�)���	�	�$������ �
!�
!�
!�������������
!�������V�V�,�,�,�,�,s�!�
<�7�<r8r�rl)rr�r0s` @r�
test_asyncz!PositionalOnlyTestCase.test_async|s�����	�	�	�	��
#�
#�I�/{�
|�
|�	�	�
�A��Q�K�K�K�K�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	-�	-�	-�	-�	-�	-�	��A�q������A��������A������
�
�
�
�
s�<�A�Ac��dd�}|�td��5|dd���ddd��n#1swxYwY|dd��}|�t|��d��|dd���}|�t|��d��|d��}|�t|��d��|��}|�t|��d��dS)Nrrc3�K�||fV�dSrrrs  rr0z0PositionalOnlyTestCase.test_generator.<locals>.f�s�����Q�$�J�J�J�J�Jrrirr�r8)rr=r<�next)rr0�gens   r�test_generatorz%PositionalOnlyTestCase.test_generator�sE��	�	�	�	��
#�
#�I�/{�
|�
|�	�	�
�A��Q�K�K�K�K�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��a��1�g�g������c���F�+�+�+��a��Q�i�i�i������c���F�+�+�+��a��d�d������c���F�+�+�+��a�c�c������c���F�+�+�+�+�+s
�:�>�>c���t���G�fd�d��}Gd�d|��}|�|��������dS)Nc���eZdZ�fd�ZdS)�,PositionalOnlyTestCase.test_super.<locals>.Ac����Srr)r�sentinels �rr�z3PositionalOnlyTestCase.test_super.<locals>.A.method�s����rNr�)rs�r�Ar�s.�������
 �
 �
 �
 �
 �
 �
 rrc���eZdZ�fd�Z�xZS)�,PositionalOnlyTestCase.test_super.<locals>.Cc�D��t�����Sr)�superr�)r�	__class__s �rr�z3PositionalOnlyTestCase.test_super.<locals>.C.method�s����w�w�~�~�'�'�'r)r�r�r�r��
__classcell__)rs@r�Cr�s8�������
(�
(�
(�
(�
(�
(�
(�
(�
(rr
)�objectr<r�)rrr
rs   @r�
test_superz!PositionalOnlyTestCase.test_super�s�����8�8��	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	(�	(�	(�	(�	(��	(�	(�	(�	
�����������x�0�0�0�0�0rc��d�}d�tj|��D��}|�d|��|�d|��dS)Nc�*�dttufd�}dS)Nr�c��dSrrr�s rr0zKPositionalOnlyTestCase.test_annotations_constant_fold.<locals>.g.<locals>.f�r�rr�r�s rrSz@PositionalOnlyTestCase.test_annotations_constant_fold.<locals>.g�s��.�#��*�.�.�.�.�.�.rc�*�g|]}|j|jf��Sr)�opname�argvalrEs  r�
<listcomp>zIPositionalOnlyTestCase.test_annotations_constant_fold.<locals>.<listcomp>�s!��G�G�G�!�!�(�A�H�%�G�G�Gr)�	UNARY_NOTN)�IS_OPr)�dis�get_instructions�assertNotIn�assertIn)rrS�codess   r�test_annotations_constant_foldz5PositionalOnlyTestCase.test_annotations_constant_fold�sc��	/�	/�	/�H�G�s�/C�A�/F�/F�G�G�G�����,�e�4�4�4��
�
�l�E�*�*�*�*�*rN)r) r�r�r�r"r'r)r?rPrarernrsrxr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrs�������8�8�8�8�B�B�B�*H�H�H�*(�(�(�6,�,�,�

4�
4�
4�(�(�(����&
�
�
�	�	�	�'�'�'�(	�	�	�������(�(�(�%�%�%�?�?�?�&
 �
 �
 � � � �
���<?�?�?�.	*�	*�	*�
1�
1�
1�,�,�,�
(�(�(�6���*,�,�,�"1�1�1�	+�	+�	+�	+�	+rr�__main__r�)
�__doc__rr��unittest�test.supportrrrr�TestCaserr��mainrrr�<module>r"s���N�N�
�
�
�
�
�
�
�
�����+�+�+�+�+�+�����������f+�f+�f+�f+�f+�X�.�f+�f+�f+�R
�z����H�M�O�O�O�O�O��r