Commit Graph

4299 Commits

Author SHA1 Message Date
Eric Traut
d333a52d69 Fixed style issue. 2021-12-27 17:13:02 -07:00
Eric Traut
3aea365b5a Fixed regression in type alias handling. 2021-12-27 17:00:18 -07:00
Eric Traut
a4f12fd6f1 Fixed several bugs related to inconsistent evaluation flags.
Added evaluator option that for verifying evaluator flags and enabled it in unit tests.
2021-12-27 16:24:00 -07:00
Eric Traut
9dbd273114 Fixed bug that results in false positive error when class declaration arguments are evaluated out of order. 2021-12-26 20:47:38 -07:00
Eric Traut
532e7e3636 Fixed broken build. 2021-12-26 20:46:53 -07:00
Eric Traut
4350e0e9a5 Added type validation logic for dataclass __post_init__ method. 2021-12-26 20:28:52 -07:00
Eric Traut
d2d97928fe Added type validation for custom metaclass keyword parameters specified in the metaclass's __new__ method. 2021-12-26 00:54:21 -07:00
Eric Traut
a74eeb0488 Added code to detect except clauses that are unreachable because their exception types are already handled by previous except clauses. 2021-12-25 22:07:15 -07:00
Eric Traut
cb618fc0b4 Revert "Fixed merge conflict"
This reverts commit d7e707718b.
2021-12-25 10:48:40 -07:00
Eric Traut
d7e707718b Fixed merge conflict 2021-12-25 10:46:37 -07:00
Eric Traut
3299c4df45 Published 1.1.200 2021-12-24 17:25:16 -07:00
Eric Traut
8ee936e1fc Added logic to preserve function doc strings for a ParamSpec when it captures the signature of a function with a doc string. This is useful for decorators. 2021-12-24 17:19:24 -07:00
Eric Traut
c13473b162 Fixed style issue. 2021-12-24 15:57:38 -07:00
Eric Traut
47212cd28d Added special-case handling to accommodate assignment of a method that differs only in the Self parameter. 2021-12-24 13:57:43 -07:00
Eric Traut
1a2cad2085 Fixed bug that can result in incorrect type evaluations when a keyword argument name is evaluated first when hovering over it. 2021-12-24 09:27:32 -07:00
Eric Traut
f98a77a9ed Fixed a bug that resulted in an incorrect specialized return type in certain cases involving ParamSpecs. 2021-12-23 15:45:22 -07:00
Eric Traut
177d596150 Fixed a bug that resulted in a ParamSpec used within a generic function from becoming Unknown in some circumstances. 2021-12-22 23:46:46 -07:00
Eric Traut
4cd4d6c423 Added type checking support for functools.partial. This advanced support does not work with overloads or argument lists that include list or dictionary unpack operators. 2021-12-22 15:56:56 -07:00
Eric Traut
bd3fc2d84d Published 1.1.199 2021-12-22 03:05:16 -07:00
Eric Traut
7b3e6e05a1 Fixed bug in type evaluator that masked certain type errors when assigning a concrete type to a class TypeVar type.
Fixed bug that caused false positive when passing a generic function callback as an argument to another generic function.
2021-12-22 02:53:41 -07:00
Eric Traut
e11b97c03b Fixed potential crashing bug. 2021-12-22 01:44:06 -07:00
Eric Traut
84f82f87ad Fixed bug that resulted in infinite recursion in certain cases when an aliased conditional expression was used. 2021-12-21 16:58:26 -07:00
Eric Traut
f839fd7fa7 Small code cleanup in parseTreeWalker to make the order of case statements the same as the parse tree node enumeration. 2021-12-21 16:56:01 -07:00
Eric Traut
f7dbfc8449 Improved handling of call expressions that have a NoReturn type. In particular, the logic now handles constructors, __call__ methods, inferred symbol types, and symbol import chains. 2021-12-21 16:16:45 -07:00
Eric Traut
c76693fb99 Fixed a bug that resulted in an incorrect type inference when assigning to a list that includes an unpacked target variable. 2021-12-21 13:32:37 -07:00
Eric Traut
520ac113c8 Added type checking for class constructor calls when the class has a metaclass with a custom __call__ method. 2021-12-21 12:55:58 -07:00
Eric Traut
e3fbc13703 Fixed recent regression that resulted in false positive when assigning a Type[Proto] to Type[Proto]. 2021-12-21 12:25:31 -07:00
Eric Traut
613b8d303d Fixed incorrect and confusing debug assertion string. 2021-12-21 09:57:30 -07:00
Eric Traut
7475c7b3a8 Updated typeshed stubs to the latest version. 2021-12-21 08:38:00 -07:00
Eric Traut
12eb0bf32d Fixed bug that resulted in false positive error when class constructor is invoked with more than one argument and the class's metaclass has a custom __call__ method. 2021-12-21 08:37:49 -07:00
Eric Traut
48db423c7b Published 1.1.198 2021-12-20 13:00:28 -07:00
Eric Traut
4316c23778 Improved error message (and reduced cascading errors) for the case where a variable is incorrectly used as the LHS of a subscript expression within a type annotation. 2021-12-20 12:58:50 -07:00
Eric Traut
940321b254 Added logic to handle the case where a declared return type of a function includes a constrained TypeVar and a return statement is guarded by a conditional check that guarantees that the constraint is met on that code path. 2021-12-20 12:26:00 -07:00
Eric Traut
31499df439 Fixed a false negative (missing) error when a method within a generic class was annotated to return a generic type of itself. 2021-12-20 00:01:57 -07:00
Eric Traut
18fd8330b7 Changed the behavior of the new callable syntax to not accept ... with other parameters. After further discussion on the typing-sig, the consensus is that supporting this will cause confusion. 2021-12-19 10:41:41 -07:00
Eric Traut
be851a8350 Fixed a bug in the handling of the new callable syntax when it's used with an "async" keyword. The resulting return type should be Awaitable rather than Coroutine. 2021-12-19 10:30:23 -07:00
Eric Traut
d65850ef92 Fixed bug in handling of callable syntax when a TypeVar, ParamSpec or TypeVarTuple was used outside of an appropriate scope. No error was emitted in this case. 2021-12-19 10:27:18 -07:00
Eric Traut
ebae8c3c0c Added support for __getattr__ and __getattribute__ overloads that are typed with a literal str representing the attribute name. 2021-12-18 18:59:11 -07:00
Eric Traut
836a1fcf9b Changed type logic to allow type to be assigned to Type[T]. In this case, type is treated the same as Type[Any], so T receives a value of Any. 2021-12-18 18:34:48 -07:00
Eric Traut
998a016f69 Added support for assigning a param spec to a ... signature, since the latter is the Any equivalent for ParamSpecs. 2021-12-17 21:51:38 -08:00
Eric Traut
a48b0d1347 Added support for class types that satisfy protocols. This is specifically allowed in PEP 544 in the section titled "Type[] and class objects vs protocols". 2021-12-17 21:26:29 -08:00
Eric Traut
b6389b35b3 Added missing check mandated by PEP 544, which disallows an assignment of a class type to a Type[Proto] if the class type is a protocol itself. 2021-12-17 20:27:00 -08:00
Eric Traut
e7ae5a02a1 Fixed style issue 2021-12-17 10:33:55 -08:00
Eric Traut
5bc14bcebe Fixed bug that resulted in false positive errors when using a TypeVar within the new callable syntax within a function declaration. 2021-12-17 10:25:45 -08:00
Eric Traut
7578f2d362 Added support for exception group syntax introduced in PEP 654. 2021-12-17 10:10:39 -08:00
Eric Traut
c5ac73b37e Published 1.1.197 2021-12-16 23:18:03 -08:00
Eric Traut
c935199fb3 Added support for draft PEP 677: callable type syntax. 2021-12-16 23:15:54 -08:00
Eric Traut
1ed3aae7ad Fixed bug that caused crash in type analyzer when a TypeVar of the same name was declared twice in the same scope with constraints in one case and without in the other. 2021-12-16 23:10:44 -08:00
Eric Traut
e89c48da64 Made additional improvements to text representations of types. 2021-12-16 23:08:51 -08:00
Eric Traut
b51d5b1998 Fixed another error in pyrightconfig JSON schema, which duplicated a couple of IDs. 2021-12-16 23:05:25 -08:00