mark these as TODO
This commit is contained in:
@@ -458,10 +458,14 @@ class C:
|
||||
def f2(cls: type[C], x: int) -> str:
|
||||
return "a"
|
||||
|
||||
reveal_type(C.f1(1)) # revealed: str
|
||||
reveal_type(C().f1(1)) # revealed: str
|
||||
reveal_type(C.f2(1)) # revealed: str
|
||||
reveal_type(C().f2(1)) # revealed: str
|
||||
# TODO: revealed: str
|
||||
reveal_type(C.f1(1)) # revealed: str | Divergent
|
||||
# TODO: revealed: str
|
||||
reveal_type(C().f1(1)) # revealed: str | Divergent
|
||||
# TODO: revealed: str
|
||||
reveal_type(C.f2(1)) # revealed: str | Divergent
|
||||
# TODO: revealed: str
|
||||
reveal_type(C().f2(1)) # revealed: str | Divergent
|
||||
```
|
||||
|
||||
### `__init_subclass__`
|
||||
@@ -582,10 +586,14 @@ class C:
|
||||
def f2(x: int) -> str:
|
||||
return "a"
|
||||
|
||||
reveal_type(C.f1(1)) # revealed: str
|
||||
reveal_type(C().f1(1)) # revealed: str
|
||||
reveal_type(C.f2(1)) # revealed: str
|
||||
reveal_type(C().f2(1)) # revealed: str
|
||||
# TODO: revealed: str
|
||||
reveal_type(C.f1(1)) # revealed: str | Divergent
|
||||
# TODO: revealed: str
|
||||
reveal_type(C().f1(1)) # revealed: str | Divergent
|
||||
# TODO: revealed: str
|
||||
reveal_type(C.f2(1)) # revealed: str | Divergent
|
||||
# TODO: revealed: str
|
||||
reveal_type(C().f2(1)) # revealed: str | Divergent
|
||||
```
|
||||
|
||||
### `__new__`
|
||||
|
||||
@@ -144,8 +144,12 @@ from functools import cache
|
||||
def f(x: int) -> int:
|
||||
return x**2
|
||||
|
||||
reveal_type(f) # revealed: _lru_cache_wrapper[int]
|
||||
reveal_type(f(1)) # revealed: int
|
||||
# TODO: revealed: _lru_cache_wrapper[int]
|
||||
# revealed: _lru_cache_wrapper[int] | _lru_cache_wrapper[Unknown]
|
||||
reveal_type(f)
|
||||
# TODO: revealed: int
|
||||
# revealed: int | Unknown
|
||||
reveal_type(f(1))
|
||||
```
|
||||
|
||||
## Lambdas as decorators
|
||||
|
||||
@@ -329,11 +329,18 @@ from typing_extensions import overload
|
||||
def f(x: str): ...
|
||||
@overload
|
||||
def f(x: int): ...
|
||||
# TODO: no error
|
||||
# (This is caused by a salsa cycle and how we union type inference results to avoid oscillations
|
||||
# during cycle handling.)
|
||||
# error: [invalid-overload] "Overloaded function `f` requires at least two overloads"
|
||||
def f(x):
|
||||
print(x)
|
||||
|
||||
f(1)
|
||||
f("hello") # TODO: error: [deprecated] "strings are no longer supported"
|
||||
# TODO: no invalid-argument-type error
|
||||
# TODO: error: [deprecated] "strings are no longer supported"
|
||||
# error: [invalid-argument-type] "Argument to function `f` is incorrect: Expected `int`, found `Literal["hello"]`"
|
||||
f("hello")
|
||||
```
|
||||
|
||||
If the actual impl is deprecated, the deprecation always fires.
|
||||
|
||||
Reference in New Issue
Block a user