Commit Graph

7577 Commits

Author SHA1 Message Date
Eric Traut
4df7ba72a0 Revert "Improved the internal name given to a class that is created through the explicit instantiation of a metaclass."
This reverts commit 8792e4e493.
2024-07-03 14:48:48 -07:00
Eric Traut
8792e4e493 Improved the internal name given to a class that is created through the explicit instantiation of a metaclass. 2024-07-03 14:47:04 -07:00
Eric Traut
8ed6c10486
Changed the hard-coded type of the __class__ symbol to be Self@T rather than T (where T is the enclosing class). This addresses #8305. (#8307) 2024-07-03 14:45:58 -07:00
Eric Traut
d7c5d0691a
Fixed regression that results in a false positive when a traditional type alias (not using PEP 695 syntax) defines a union and is then used as a second argument to an isinstance or issubclass call. This addresses #8302. (#8303) 2024-07-03 12:27:02 -07:00
Eric Traut
93ac52f0b2 Published 1.1.370 2024-07-02 16:45:35 -07:00
Eric Traut
0591abaae8 Fixed bug that results in a false positive reportUntypedFunctionDecorator error under certain circumstances. This addresses #8298. 2024-07-02 16:40:34 -07:00
Eric Traut
8a766d59a4
Fixed bug that results in a false negative when passing an extra keyword argument to a callable that is parameterized with a ParamSpec. This addresses #8294. (#8299) 2024-07-02 16:35:08 -07:00
Eric Traut
280ed52e8c Shortened names of EvalFlags to improve readability. No functional change. 2024-07-02 13:38:58 -07:00
Eric Traut
33a72e3d6a
Improved handling of special forms, including TypeAliasType instances, when used in value expressions. This addresses #8185. (#8296) 2024-07-02 13:30:36 -07:00
Eric Traut
f6c9ca9feb Renamed evaluation flag for clarify and consistency. No functional change. 2024-07-02 08:47:10 -07:00
Eric Traut
2947be68bf Did more code cleanup in the assignment statement evaluation code path. 2024-07-01 20:50:20 -07:00
Eric Traut
3da465b321 Reduced duplicated code in type alias code paths. No functional change. 2024-07-01 20:28:01 -07:00
Eric Traut
139d095cd6
Implemented small optimization in the protocol matching cache. (#8288) 2024-07-01 10:47:36 -07:00
Eric Traut
21efa0ecf8 Fixed bug that results in the incorrect default value of a variadic type variable when the type argument is not provided. It should default to *tuple[Any, ...], not *tuple[Any]. This addresses #8285. 2024-07-01 08:13:44 -07:00
Eric Traut
74846de568
Improved performance of type analysis by caching additional reachability information for code flow graphs. This addresses #8275. (#8281) 2024-06-30 21:13:47 -07:00
Eric Traut
8a9ba9b77b Fixed bug that resulted in a false positive error when an abstract class is used for a NewType and the new type is constructed. This addresses #8256. 2024-06-30 19:48:08 -07:00
Eric Traut
353a17cdec
Improved analysis performance for complex code flow graphs by adding a cache for reachability. This addresses #8276. (#8278) 2024-06-30 17:17:38 -07:00
Eric Traut
4980567942
Reformatted Python test samples using the latest version of ruff. (#8277) 2024-06-30 17:07:20 -07:00
Eric Traut
17d9f61ccd Added additional paralellization for mypy_primer (from 2 to 8 shards) to reduce feedback time on PRs. 2024-06-30 16:01:36 -07:00
Eric Traut
3e70e7a8f9 Renamed internal function for clarity. No functional change. 2024-06-30 05:49:24 -07:00
Eric Traut
d55be983e5 Fixed a bug in the type narrowing for the "x is <class>" type guard pattern when <class> is a specific class T, as opposed to a variable of type type[T]. This addresses #8264. 2024-06-29 11:05:51 -07:00
Eric Traut
fa0f6b7349 Small code cleanup. No functional change. 2024-06-29 11:05:09 -07:00
PylanceBot
16f398976a
pull-pylance-with-pyright-1.1.369-9716881771 (#8261)
Co-authored-by: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Rich Chiodo <rchiodo@users.noreply.github.com>
2024-06-28 17:41:06 -07:00
Eric Traut
bee1d912fd Fixed bug that results in a spurious error when evaluating a quoted (forward reference) type expression that includes an index expression within a TypeAlias definition. This addresses https://github.com/microsoft/pylance-release/issues/6072. 2024-06-28 15:15:20 -07:00
Eric Traut
3c70b4e0d1
Fixed bug that results in incorrect type evaluation of a function that accepts a Callable[P, T] and is passed a class object whose constructor needs to be converted to a callable. This addresses #8170. (#8258) 2024-06-28 10:19:57 -07:00
Kacie Kang
5d5fe5d15c
fix pylance issue 6052 (#8253) 2024-06-27 16:22:49 -07:00
Eric Traut
8f8f5b163d
Fixed recent regression that results in false positive when a inner function with an inferred return type is a coroutine (async) and is referenced within the function body in which it's declared. This addresses #8232 and #8229. (#8251) 2024-06-27 13:16:23 -07:00
Eric Traut
f104e7bb30
Fixed bug that results in false positive reportInconsistentOverload and reportNoOverloadImplementation errors when an overloaded decorator is applied to a non-overloaded function or method. This addresses #8246. (#8249) 2024-06-27 05:35:50 -07:00
Eric Traut
1e1e912380 Fixed bug that results in a false positive when a protocol includes a method implementation that conditionally raises NotImplementedError. This addresses #8245. 2024-06-27 04:30:13 -07:00
Eric Traut
337ef2fa00 Fixed recent regression that results in an assertion failure (and therefore a crash) when type() is called with dynamic base classes. This addresses #8228. 2024-06-26 16:51:15 -07:00
Eric Traut
bdb8eba712 Updated typeshed stubs to the latest version. 2024-06-26 16:30:53 -07:00
Eric Traut
05726120ad
Fixed bug that results in incorrect type isinstance or issubclass type narrowing when using a type variable with an upper bound that includes a promotion type. This addresses #8238. (#8243) 2024-06-26 16:30:26 -07:00
Eric Traut
427ca1143e Fixed bug that resulted in a false negative when assigning to type tuple[Never]. This addresses #8237. 2024-06-26 15:01:45 -07:00
Bill Schnurr
b5d4d92f0a
add an azure devops build (#8200)
* add an azure devops build

* fix prettier

* moving azure build under azuredevops folder
2024-06-25 11:39:05 -07:00
PylanceBot
1168be715e
pull-pylance-with-pyright-1.1.369-9665934702 (#8225)
Co-authored-by: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-25 10:09:34 -07:00
Eric Traut
a5cbd4725a Published 1.1.369 2024-06-25 18:02:18 +02:00
Eric Traut
24f64f7d26 Fixed bug that results in incorrect type narrowing in the negative (fall-through) case of a match expression when the subject expression is an unbounded tuple. This addresses #8219. 2024-06-25 13:56:02 +02:00
Eric Traut
2672441c22 Fixed bug that leads to a spurious "unbound variable" diagnostic when a variable is assigned a value using a walrus operator and is later used in a ** call argument. This addresses #8218. 2024-06-25 13:28:04 +02:00
Eric Traut
bc1fc9f22b Added support for walrus (assignment) operator within set literal expressions if the python version is >= 3.10. The grammar was changed in 3.10 to support this. This addresses #8216. 2024-06-24 23:56:08 +02:00
Eric Traut
3a263135ab
Fixed bug that incorrectly evaluates a constructor call to a constructor that infers a class-scoped ParamSpec when the passed function is generic. This addresses #8170. (#8215) 2024-06-24 22:04:09 +02:00
Eric Traut
6ffb60bd53
Fixed bug that results in a false positive error when using a callback protocol with a function-scoped type variable. This addresses #8177. (#8207) 2024-06-23 14:57:32 +02:00
Eric Traut
ee12ebcccf Improved reportUninitializedInstanceVariable check to handle dataclass variables that are initialized implicitly by the synthesized __init__ method. 2024-06-22 21:44:36 +02:00
Erik De Bonte
3e6661a315
Fix binary search in findNodeByOffset to match linear search result (#8143) 2024-06-22 09:10:06 -07:00
dependabot[bot]
cfeed20baf
Bump braces from 3.0.2 to 3.0.3 (#8204)
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-22 15:24:27 +02:00
Hamir Mahal
0c4c9ab592
fix: usage of deprecated version of Node.js (#8201) 2024-06-22 15:05:06 +02:00
Eric Traut
2efc12f999
Improved diagnostic messages for type errors detected during __set__ and __delete__ calls to a descriptor object. This addresses #8181. (#8198) 2024-06-21 23:13:01 +02:00
Eric Traut
d2ff2a4517
Fixed bug that results in an incorrect overload implementation diagnostic when using tuple[()] in overloads. This addresses #8194. (#8195) 2024-06-21 13:25:01 +02:00
Eric Traut
221a977705 Changed hover provider output for type aliases to conform more closely with the new Python 3.12 type syntax. This partially addresses #8185. 2024-06-21 12:41:22 +02:00
Eric Traut
1bbb5d90a1 Fixed recent regression that results in a runtime assert (and therefore a crash) in certain circumstances when computing the MRO for a class. This addresses #8191. 2024-06-20 21:33:48 +02:00
Eric Traut
b841e110f3
Improved consistency of unreachable code. Previously, unreachable code was not supported for if or else suites when the condition type was narrowed to Never. This addresses https://github.com/microsoft/pylance-release/issues/6028. (#8190) 2024-06-20 17:00:26 +02:00