Commit Graph

2524 Commits

Author SHA1 Message Date
Jake Bailey
2d90df325f
Incremental document sync support, improved completion logging (#1109) 2020-10-19 15:04:48 -07:00
Eric Traut
bb04ffa6be Added new diagnostic rule "reportInvalidTypeVarUse" that controls reporting of TypeVars that appear only once in a function signature. By default it is off in basic type checking mode but on in strict mode. 2020-10-19 13:30:06 -07:00
Eric Traut
1c91ad026a Added diagnostic check for dictionary unpack operator (**) if the operand is not a mapping object. 2020-10-19 08:31:29 -07:00
Eric Traut
42af325c96 Added missing help string for "--verifytypes" option in pyright CLI. 2020-10-18 22:10:26 -07:00
Eric Traut
baaa969c33 Fixed bug that caused duplicate error messages involving certain TypeVar assignments. 2020-10-18 21:32:58 -07:00
Eric Traut
c2afc38daf Added explicit TypeVar scope number to TypeVarType. 2020-10-18 15:57:10 -07:00
Eric Traut
217057d8f4 Implemented a check for improper use of TypeVars within generic functions or methods. All local TypeVars used within a function must appear at least twice. 2020-10-18 15:38:55 -07:00
Eric Traut
3be4376c04 Revert "Implemented a check for improper use of TypeVars within generic functions or methods. All local TypeVars used within a function must appear at least twice."
This reverts commit 7bbb0b7a39.
2020-10-18 15:26:44 -07:00
Eric Traut
7bbb0b7a39 Implemented a check for improper use of TypeVars within generic functions or methods. All local TypeVars used within a function must appear at least twice. 2020-10-18 15:24:52 -07:00
Eric Traut
6479e300a9 Fixed bug where declared variable with literal types in type arguments were being stripped of those literals when the variable was exported from a module. 2020-10-18 07:46:17 -07:00
Eric Traut
a612eb8f04 Fixed bug that resulted in incorrect error about TypeVar being used incorrectly. The specific condition was when it was referenced within a method within a generic class and one of the method's parameters also referenced the same TypeVar. 2020-10-16 11:21:10 -07:00
Eric Traut
6e40232c3b Improved type inference for tuples in circumstances where literals are used within a tuple expression and when tuple expressions are assigned to an expected type that is not a tuple but is a compatible type (such as Iterable). 2020-10-16 09:34:48 -07:00
Eric Traut
8bd8679192 Fixed bug that caused incorrect error to be reported when a recursive type alias was used in certain circumstances. 2020-10-16 08:01:50 -07:00
Eric Traut
eec8b410a8 Fixed bug in type evaluator that caused spurious errors related to variables used within "for" and "if" statements within a comprehension. 2020-10-15 20:49:51 -07:00
Eric Traut
74752b92ae Made type evaluator's "getType" function more resilient so callers can pass an identifier node that isn't necessarily an expression. This fixes a spurious error that was triggered by the semantic token provider. 2020-10-15 20:34:12 -07:00
Eric Traut
246ff993e7 Fixed bug in decorator annotation documentation. 2020-10-14 20:14:08 -07:00
Eric Traut
c6e80ccd40 Fixed misleading error message within "from x import y" statement where x was a namespace package and y was not found. The error was being reported as an "unresolved import x" rather than "unknown symbol y". 2020-10-14 20:03:32 -07:00
Eric Traut
b246635fd8 Fixed bug in completion provider that caused submodules within a namespace module not to be suggested within a "from x import y" statement. 2020-10-14 20:02:14 -07:00
Eric Traut
06a5eb755c Fixed bug in type stub generator. It was not properly handling annotated variables (either those with PEP 593 annotations or older-style type comment annotations). 2020-10-14 19:26:32 -07:00
Jake Bailey
b45ce5b492
Check completion item kind, non-property completion fast path (#1099) 2020-10-14 15:32:07 -07:00
Eric Traut
97f8483392 Changed logic for function return type inference so "unbound" type is never propagated to callers. This eliminates incorrect and confusing errors. 2020-10-14 11:04:16 -07:00
Eric Traut
3c6cfc2a45 Fixed bug that caused an incorrect error when self.__class__ was used as the second argument to an isinstance call. 2020-10-14 10:34:36 -07:00
Eric Traut
8857f8931c Published 1.1.79 2020-10-13 19:12:11 -07:00
Eric Traut
779d36f91b Fixed handling of "Annotated" type introduced in PEP 593. Wasn't properly handling string literals in type arguments. 2020-10-12 16:44:01 -07:00
Eric Traut
70803f806c Fixed bug that caused a type variable to be "unknown" in some cases where a generic class type was used without providing explicit type arguments. 2020-10-12 16:44:01 -07:00
Jake Bailey
0fc1b5cf50
Update deps, fix call sig args, add plaintext doc support (#1096) 2020-10-12 16:10:25 -07:00
Eric Traut
d71e0901e5 Moved back to engine version 1.48 since 1.50 was just released. 2020-10-10 16:23:53 -07:00
Eric Traut
a9d1d8acb5 Fixed bug that resulted in "unknown" parameter type when assigning a lambda to a variable with a declared Callable type. 2020-10-10 15:16:25 -07:00
Eric Traut
38d8963476 Fixed bugs in import resolver when a project contains multiple namespace packages with the same name. 2020-10-10 11:38:09 -07:00
Eric Traut
4adbf655a3 Added missing descriptor for "python.analysis.extraPaths" in Pyright VS Code extension. This caused VS Code to indicate that this setting wasn't known. 2020-10-10 11:21:44 -07:00
Eric Traut
a898265baa Updated dependencies to the latest. Bumped required VS Code version from 1.48 to 1.50 for Pyright VS Code extension. 2020-10-10 10:24:59 -07:00
Eric Traut
dd3efa4846 Updated typeshed to latest. Added commit.txt file to track the exact commit hash that was used. 2020-10-10 10:22:33 -07:00
Eric Traut
1844bdfd58 Revert "Updated typeshed to latest. Added commit.txt file to track the exact commit hash that was used."
This reverts commit 0b40310426.
2020-10-10 10:21:23 -07:00
Eric Traut
0b40310426 Updated typeshed to latest. Added commit.txt file to track the exact commit hash that was used. 2020-10-10 10:02:28 -07:00
Eric Traut
18bee09129 Fixed bug where implementation of an overloaded function was included in the list of overloads leading to incorrect signature suggestions and false positives for various overload diagnostic checks. 2020-10-08 23:41:15 -07:00
Eric Traut
9897d65ab2 Fixed bug that resulted in an incorrect "unbound variable" error when the variable was used in an assignment expression within an if/else conditional expression. 2020-10-07 16:01:04 -07:00
Eric Traut
a86cb5d208 Fixed bug that caused identifiers with non-ASCII characters to sometimes be handled incorrectly. 2020-10-07 14:43:33 -07:00
Eric Traut
d1f950acca Improved some internal type transforms to preserve type alias information where possible. This helps types be more readable in hover text and error messages. 2020-10-07 13:24:44 -07:00
Jake Bailey
1e360c99b2
Streaming references/symbols, analysis error, indexing changes (#1093) 2020-10-07 11:13:32 -07:00
Eric Traut
089c9d362a Fixed the handling of backslashes within an f-string that is also raw. 2020-10-06 18:42:00 -07:00
Eric Traut
d10b561cb8 Fixed CI. 2020-10-06 17:35:08 -07:00
Eric Traut
ad0d94f3d7 Published 1.1.78 2020-10-06 17:26:54 -07:00
Eric Traut
89b869c7b3 Added synthesized comparison operator methods for dataclass. 2020-10-06 17:22:43 -07:00
Eric Traut
6ca396e183 Added diagnostic messages for incorrect use of contravariant type variable as a method return type or a covariant type variable as a method parameter. 2020-10-06 15:10:32 -07:00
Eric Traut
3a7a47b8a9 Fixed CI error. 2020-10-06 00:50:17 -07:00
Eric Traut
d638cc9b31 Implemented provisional "TypeGuard" functionality that allows for user-defined type guard functions. This must still go through a spec'ing and ratification process before it is finalized. Until then, details could change. 2020-10-06 00:10:38 -07:00
Eric Traut
b01e620bd1 Added support for arbitrary expressions in decorators for Python 3.9 and newer as specified in PEP 614. 2020-10-05 18:37:19 -07:00
Eric Traut
c228a390bb Added optimization for common case of populateTypeVarMapBasedOnExpectedType. This makes a small but measurable improvement in many type checking scenarios. 2020-10-05 14:19:46 -07:00
Eric Traut
3c4156cd62 Fixed bug that was causing "self is unknown type" errors in strict mode for "self" parameters used within a protocol class. 2020-10-05 13:50:23 -07:00
Eric Traut
5ba7a79241 Fixed regression were diagnostics reported for constructor argument expressions were being suppressed. 2020-10-05 11:09:28 -07:00