Staging
v0.5.1
https://github.com/python/cpython
Revision 7076764992cd29e0e1f8b0ac2b92403e1a698aa6 authored by Miss Islington (bot) on 16 September 2019, 22:11:10 UTC, committed by GitHub on 16 September 2019, 22:11:10 UTC

This PR replaces the old note mentioning that `typing` is a provisional module with a new one mentioning types are not enforced at runtime. I am not sure if there was any official announcement about making `typing` non-provisional, but _de-facto_ no new features were added during Python 3.7, and no backwards incompatible changes were made except for few small things that were considered bugs.
(cherry picked from commit 81528ba2e81c39f4d6bca5b785e818c7d08b8501)

Co-authored-by: Ivan Levkivskyi <levkivskyi@gmail.com>
1 parent 1ecc75a
Raw File
Tip revision: 7076764992cd29e0e1f8b0ac2b92403e1a698aa6 authored by Miss Islington (bot) on 16 September 2019, 22:11:10 UTC
bpo-28556: Update the opening note in typing docs (GH-16204)
Tip revision: 7076764
dataclass_module_2_str.py
from __future__ import annotations
USING_STRINGS = True

# dataclass_module_2.py and dataclass_module_2_str.py are identical
# except only the latter uses string annotations.

from dataclasses import dataclass, InitVar
from typing import ClassVar

T_CV2 = ClassVar[int]
T_CV3 = ClassVar

T_IV2 = InitVar[int]
T_IV3 = InitVar

@dataclass
class CV:
    T_CV4 = ClassVar
    cv0: ClassVar[int] = 20
    cv1: ClassVar = 30
    cv2: T_CV2
    cv3: T_CV3
    not_cv4: T_CV4  # When using string annotations, this field is not recognized as a ClassVar.

@dataclass
class IV:
    T_IV4 = InitVar
    iv0: InitVar[int]
    iv1: InitVar
    iv2: T_IV2
    iv3: T_IV3
    not_iv4: T_IV4  # When using string annotations, this field is not recognized as an InitVar.
back to top