Server IP : 103.191.208.50 / Your IP : 216.73.216.226 Web Server : LiteSpeed System : Linux orion.herosite.pro 4.18.0-553.53.1.lve.el8.x86_64 #1 SMP Wed May 28 17:01:02 UTC 2025 x86_64 User : celkcksm ( 1031) PHP Version : 5.6.40 Disable Function : show_source, system, shell_exec, passthru, exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/../opt/bitninja-python-dojo/embedded/lib/python3.9/test/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
"""Module for testing the behavior of generics across different modules.""" import sys from textwrap import dedent from typing import TypeVar, Generic, Optional if sys.version_info[:2] >= (3, 6): exec(dedent(""" default_a: Optional['A'] = None default_b: Optional['B'] = None T = TypeVar('T') class A(Generic[T]): some_b: 'B' class B(Generic[T]): class A(Generic[T]): pass my_inner_a1: 'B.A' my_inner_a2: A my_outer_a: 'A' # unless somebody calls get_type_hints with localns=B.__dict__ """)) else: # This should stay in sync with the syntax above. __annotations__ = dict( default_a=Optional['A'], default_b=Optional['B'], ) default_a = None default_b = None T = TypeVar('T') class A(Generic[T]): __annotations__ = dict( some_b='B' ) class B(Generic[T]): class A(Generic[T]): pass __annotations__ = dict( my_inner_a1='B.A', my_inner_a2=A, my_outer_a='A' # unless somebody calls get_type_hints with localns=B.__dict__ )