|
92 | 92 | YieldFromExpr,
|
93 | 93 | check_arg_names,
|
94 | 94 | )
|
95 |
| -from mypy.options import NEW_GENERIC_SYNTAX, Options |
| 95 | +from mypy.options import Options |
96 | 96 | from mypy.patterns import (
|
97 | 97 | AsPattern,
|
98 | 98 | ClassPattern,
|
@@ -965,19 +965,7 @@ def do_func_def(
|
965 | 965 | return_type = AnyType(TypeOfAny.from_error)
|
966 | 966 | else:
|
967 | 967 | if sys.version_info >= (3, 12) and n.type_params:
|
968 |
| - if NEW_GENERIC_SYNTAX in self.options.enable_incomplete_feature: |
969 |
| - explicit_type_params = self.translate_type_params(n.type_params) |
970 |
| - else: |
971 |
| - self.fail( |
972 |
| - ErrorMessage( |
973 |
| - "PEP 695 generics are not yet supported. " |
974 |
| - "Use --enable-incomplete-feature=NewGenericSyntax for experimental support", |
975 |
| - code=codes.VALID_TYPE, |
976 |
| - ), |
977 |
| - n.type_params[0].lineno, |
978 |
| - n.type_params[0].col_offset, |
979 |
| - blocker=False, |
980 |
| - ) |
| 968 | + explicit_type_params = self.translate_type_params(n.type_params) |
981 | 969 |
|
982 | 970 | arg_types = [a.type_annotation for a in args]
|
983 | 971 | return_type = TypeConverter(
|
@@ -1157,19 +1145,7 @@ def visit_ClassDef(self, n: ast3.ClassDef) -> ClassDef:
|
1157 | 1145 | explicit_type_params: list[TypeParam] | None = None
|
1158 | 1146 |
|
1159 | 1147 | if sys.version_info >= (3, 12) and n.type_params:
|
1160 |
| - if NEW_GENERIC_SYNTAX in self.options.enable_incomplete_feature: |
1161 |
| - explicit_type_params = self.translate_type_params(n.type_params) |
1162 |
| - else: |
1163 |
| - self.fail( |
1164 |
| - ErrorMessage( |
1165 |
| - "PEP 695 generics are not yet supported. " |
1166 |
| - "Use --enable-incomplete-feature=NewGenericSyntax for experimental support", |
1167 |
| - code=codes.VALID_TYPE, |
1168 |
| - ), |
1169 |
| - n.type_params[0].lineno, |
1170 |
| - n.type_params[0].col_offset, |
1171 |
| - blocker=False, |
1172 |
| - ) |
| 1148 | + explicit_type_params = self.translate_type_params(n.type_params) |
1173 | 1149 |
|
1174 | 1150 | cdef = ClassDef(
|
1175 | 1151 | n.name,
|
@@ -1843,31 +1819,17 @@ def validate_type_alias(self, n: ast_TypeAlias) -> None:
|
1843 | 1819 | # TypeAlias(identifier name, type_param* type_params, expr value)
|
1844 | 1820 | def visit_TypeAlias(self, n: ast_TypeAlias) -> TypeAliasStmt | AssignmentStmt:
|
1845 | 1821 | node: TypeAliasStmt | AssignmentStmt
|
1846 |
| - if NEW_GENERIC_SYNTAX in self.options.enable_incomplete_feature: |
1847 |
| - type_params = self.translate_type_params(n.type_params) |
1848 |
| - self.validate_type_alias(n) |
1849 |
| - value = self.visit(n.value) |
1850 |
| - # Since the value is evaluated lazily, wrap the value inside a lambda. |
1851 |
| - # This helps mypyc. |
1852 |
| - ret = ReturnStmt(value) |
1853 |
| - self.set_line(ret, n.value) |
1854 |
| - value_func = LambdaExpr(body=Block([ret])) |
1855 |
| - self.set_line(value_func, n.value) |
1856 |
| - node = TypeAliasStmt(self.visit_Name(n.name), type_params, value_func) |
1857 |
| - return self.set_line(node, n) |
1858 |
| - else: |
1859 |
| - self.fail( |
1860 |
| - ErrorMessage( |
1861 |
| - "PEP 695 type aliases are not yet supported. " |
1862 |
| - "Use --enable-incomplete-feature=NewGenericSyntax for experimental support", |
1863 |
| - code=codes.VALID_TYPE, |
1864 |
| - ), |
1865 |
| - n.lineno, |
1866 |
| - n.col_offset, |
1867 |
| - blocker=False, |
1868 |
| - ) |
1869 |
| - node = AssignmentStmt([NameExpr(n.name.id)], self.visit(n.value)) |
1870 |
| - return self.set_line(node, n) |
| 1822 | + type_params = self.translate_type_params(n.type_params) |
| 1823 | + self.validate_type_alias(n) |
| 1824 | + value = self.visit(n.value) |
| 1825 | + # Since the value is evaluated lazily, wrap the value inside a lambda. |
| 1826 | + # This helps mypyc. |
| 1827 | + ret = ReturnStmt(value) |
| 1828 | + self.set_line(ret, n.value) |
| 1829 | + value_func = LambdaExpr(body=Block([ret])) |
| 1830 | + self.set_line(value_func, n.value) |
| 1831 | + node = TypeAliasStmt(self.visit_Name(n.name), type_params, value_func) |
| 1832 | + return self.set_line(node, n) |
1871 | 1833 |
|
1872 | 1834 |
|
1873 | 1835 | class TypeConverter:
|
|
0 commit comments