|
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