Commit cc7b062
authored
Fix attrs.evolve on bound TypeVar (#15022)
Fixes the error on the last line of this example:
```python
@attrs.define
class A:
x: int
T = TypeVar('T', bound=A)
def f(t: T) -> None:
_ = attrs.evolve(t, x=42) # E: Argument 1 to "evolve" has incompatible type "T"; expected an attrs class
```
Since `T` is bounded by `A`, we know it can be treated as `A`.1 parent b43e0d3 commit cc7b062
2 files changed
+85
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
| 65 | + | |
65 | 66 | | |
66 | 67 | | |
67 | 68 | | |
| |||
929 | 930 | | |
930 | 931 | | |
931 | 932 | | |
932 | | - | |
| 933 | + | |
933 | 934 | | |
934 | 935 | | |
935 | 936 | | |
936 | | - | |
937 | | - | |
938 | | - | |
939 | 937 | | |
940 | 938 | | |
941 | 939 | | |
| |||
945 | 943 | | |
946 | 944 | | |
947 | 945 | | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
948 | 954 | | |
949 | 955 | | |
950 | 956 | | |
| |||
967 | 973 | | |
968 | 974 | | |
969 | 975 | | |
970 | | - | |
| 976 | + | |
971 | 977 | | |
972 | 978 | | |
973 | | - | |
974 | | - | |
| 979 | + | |
| 980 | + | |
975 | 981 | | |
976 | | - | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
977 | 985 | | |
978 | 986 | | |
979 | 987 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1970 | 1970 | | |
1971 | 1971 | | |
1972 | 1972 | | |
| 1973 | + | |
| 1974 | + | |
| 1975 | + | |
| 1976 | + | |
| 1977 | + | |
| 1978 | + | |
| 1979 | + | |
| 1980 | + | |
| 1981 | + | |
| 1982 | + | |
| 1983 | + | |
| 1984 | + | |
| 1985 | + | |
| 1986 | + | |
| 1987 | + | |
| 1988 | + | |
| 1989 | + | |
| 1990 | + | |
| 1991 | + | |
| 1992 | + | |
| 1993 | + | |
| 1994 | + | |
| 1995 | + | |
| 1996 | + | |
| 1997 | + | |
| 1998 | + | |
| 1999 | + | |
| 2000 | + | |
| 2001 | + | |
| 2002 | + | |
| 2003 | + | |
| 2004 | + | |
| 2005 | + | |
| 2006 | + | |
| 2007 | + | |
| 2008 | + | |
| 2009 | + | |
| 2010 | + | |
| 2011 | + | |
| 2012 | + | |
| 2013 | + | |
| 2014 | + | |
| 2015 | + | |
| 2016 | + | |
| 2017 | + | |
| 2018 | + | |
| 2019 | + | |
| 2020 | + | |
| 2021 | + | |
| 2022 | + | |
| 2023 | + | |
| 2024 | + | |
| 2025 | + | |
| 2026 | + | |
| 2027 | + | |
| 2028 | + | |
| 2029 | + | |
| 2030 | + | |
| 2031 | + | |
| 2032 | + | |
| 2033 | + | |
| 2034 | + | |
| 2035 | + | |
| 2036 | + | |
| 2037 | + | |
| 2038 | + | |
| 2039 | + | |
| 2040 | + | |
| 2041 | + | |
1973 | 2042 | | |
1974 | 2043 | | |
1975 | 2044 | | |
| |||
0 commit comments