Commit Graph

355 Commits

Author SHA1 Message Date
Eric Traut
53e8cd4145 Added provisional support for draft PEP 702 (marking deprecations using the type system). 2023-01-13 21:16:07 -08:00
Eric Traut
a2784020f2 Added support for x[K] is V and x[K] is not V type narrowing forms. This addresses https://github.com/microsoft/pyright/issues/4453. 2023-01-13 16:53:18 -08:00
Eric Traut
452bd59778 Updated build instructions. 2023-01-08 09:20:12 -08:00
Christian Clauss
bd3ac8b722
Fix typos discovered by codespell (#4399) 2023-01-04 06:54:43 -07:00
Eric Traut
c7626944f1 Added support for type guard forms x is ..., x is not ..., x == ... and x != .... Support for these were recently added to mypy. This addresses https://github.com/microsoft/pyright/issues/4397. 2023-01-04 06:13:44 -07:00
Christian Clauss
7be1d77360
Fix typo (#4398) 2023-01-04 05:53:27 -07:00
Eric Traut
775b7b4d85 Improved handling of TypeVars that appear only within a Callable within a return type annotation for a function. By a strict reading of PEP 484, these should be bound to the function's scope, but practically, they are bound to the Callable. This allows a function to return a generic callable type. When TypeVars are rescoped in this manner, the TypeVar cannot be referenced within the function body because it is no longer in scope in that context. This addresses https://github.com/microsoft/pyright/issues/4285. 2022-12-25 10:57:02 -07:00
Eric Traut
0be873e289 Fixed a couple of typos in the documentation. 2022-12-21 10:47:28 -07:00
Eric Traut
97b6231d13 Added a few more minor improvements to the docs. 2022-12-18 18:40:29 -08:00
Jelle Zijlstra
355361e8b3
fix typos in mypy-comparison (#4354)
* fix typos in mypy-comparison

* fix versions
2022-12-18 18:15:17 -08:00
Eric Traut
e3ddbb3171 Small tweaks to the new documentation based on proofreading pass. 2022-12-18 15:24:59 -08:00
Eric Traut
5a19cb9f0a Added documentation that covers the major behavioral differences between pyright and mypy and the justifications for those differences. 2022-12-18 15:11:11 -08:00
Eric Traut
c4e61dcc6a Fixed a few bugs in the type guard documentation. 2022-12-18 15:10:30 -08:00
Eric Traut
8d3a6e62c8 Further clarified the new overload behavior in the documentation. 2022-12-18 08:06:47 -08:00
Eric Traut
1dc84b93b1 Modified the overload matching algorithm to match the behavior of mypy when the overload match is ambiguous because an argument evaluates to Any or Unknown. In this case, the call expression evaluates to Unknown. Previously, pyright used the first of the matching overloads in this case. This addresses https://github.com/microsoft/pyright/issues/4347. 2022-12-16 23:18:37 -08:00
Eric Traut
2f21a0d975 Fixed a bug in the dictionary inference documentation. 2022-12-16 19:27:12 -08:00
Eric Traut
8458382477 Implemented a new --level command-line option that allows filtering of 'information' and 'warning' diagnostics. 2022-12-14 09:20:15 -08:00
Rich Chiodo
4897e993d5
Fix 'reportShadowedImports' link
Fixes https://github.com/microsoft/pylance-release/issues/3752
2022-12-12 09:51:37 -08:00
Eric Traut
5f48e39671 Exposed new configuration setting analyzeUnannotatedFunctions which corresponds to the --skipunannotated command-line option. Added an information diagnostic for skipped functions. This addresses https://github.com/microsoft/pyright/issues/4303. 2022-12-08 20:05:32 -08:00
Steve C
fa75fd6556
Fix typo in -> is, in typed-libraries.md (#4180) 2022-11-10 17:51:04 -08:00
Rich Chiodo
04a1058378
20221121 (#4174) 2022-11-09 16:00:25 -08:00
Rich Chiodo
8c0ba8a78a
Show a warning when a stdlib module is being overridden (#4132)
* Working for simple cases

* Fix localize

* Move logic to source mapper

* Add support for the current file

* Add rename file command

* Fix comments

* Closer to getting tests to work. Rename added

* Rework how stdlib modules are found. Fix tests

* Do the rename without bringing up a dialog

* Fix tests and add docs

* Fix tests on unix

* Review feedback

* Default shadowed imports to off

* Missed spot for execEnv not needing to be passed
2022-11-04 16:45:16 -07:00
Ignacio Vergara Kausel
512df5e922
Update type-concepts.md (#4099)
Fixed typo in documentation.
2022-10-27 06:05:31 -07:00
Eric Traut
d5d27505ef Updated types in documentation to use PEP 604 syntax. 2022-10-24 20:06:21 -07:00
Eric Traut
8538998719 Extended the defineConstant mechanism to work with conditional statements that contain member access expressions that reference a defined member name. This addresses https://github.com/microsoft/pyright/issues/4060. 2022-10-18 15:28:17 -07:00
Kwanghoon Choi
40d511fadc
Update type-concepts.md (#4029)
A fix to add a missing parameter to isinstance as:
 - isinstance(val, Bar)
2022-10-09 23:24:19 -07:00
Erik De Bonte
f21d04f204
Editable install docs (#4020) 2022-10-07 11:44:33 -07:00
Eric Traut
4105b97749 Updated documentation for pre-commit hooks to eliminate confusion and point users to the pyright-python wrapper. 2022-09-03 11:58:28 -06:00
Eric Traut
285550c5ce Updated configuration documentation to include reportUnnecessaryContains in the table. 2022-07-17 23:42:44 -07:00
Eric Traut
7f3e7b0d2e Added support for new reportUnnecessaryContains diagnostic rule to catch potential bugs in in and not in containment checks. 2022-07-17 23:29:50 -07:00
Eric Traut
04945a4309 Made tweak to documentation for clarity. 2022-06-23 08:34:18 -07:00
Keming
de86a34dd4
fix typo (#3601) 2022-06-21 19:08:37 -07:00
Eric Traut
4ae8b9233e Made suggested improvements to documentation. 2022-06-18 23:00:11 -07:00
Eric Traut
055dc1296a Updated comments documentation to talk about reportTypeCommentUsage diagnostic check. 2022-06-12 11:50:47 -07:00
Eric Traut
484faf7ba3 Added support for new reportTypeCommentUsage diagnostic check. It flag the usage of # type: xxx comments for functions and variables. These are still supported for backward compatibility, but they are increasingly irrelevant and will likely be deprecated in the next few years. 2022-06-09 21:00:47 -07:00
Eric Traut
794d151050 Added new configuration setting called "defineConstant". It allows a configuration to specify one or more identifiers that should be assigned by pyright's binder to be constant anywhere they appear. Values can be boolean (true or false) or a string. If an identifier of this value is used within a conditional statement (like if not DEBUG:) it will affect pyright's reachability analysis for the guarded code blocks. 2022-06-08 22:01:33 -07:00
Eric Traut
f2328237d3 Extended the "X in Y" type narrowing to support dict, defaultdict and OrderedDict classes. 2022-05-30 00:55:22 -07:00
Eric Traut
255497446a Fixed bug in type narrowing logic for expressions of the form "X not in Y". 2022-05-29 23:54:15 -07:00
Eric Traut
21a67358df Specified that node.js 14.x should be used. 2022-05-21 10:47:05 -07:00
Eric Traut
42ad212d8d Added missing quotes in library documentation for __all__ statements. 2022-05-19 17:12:04 -07:00
Eric Traut
48c910d0e3 Added back git hook example for non-github users. 2022-05-19 16:04:32 -07:00
Eric Traut
4b65372d4a Changed CI integration instructions to point to the pyright-action project. 2022-05-19 15:34:10 -07:00
Eric Traut
5840e3eb7c Improved docs string for the --skipunannotated command line option. 2022-05-18 15:29:06 -07:00
Eric Traut
8d5da97ba6 More doc improvements. 2022-05-08 11:12:37 -07:00
Eric Traut
9f08b64bcd Added documentation for class and instance variables. 2022-05-08 11:09:48 -07:00
Eric Traut
3b5752431b Extended type guard for discriminated literal fields to support properties. 2022-04-29 20:39:32 -07:00
Eric Traut
2c7bcc81e1 Updated library guidance to include a small section on positional-only parameters. 2022-04-15 21:42:42 -07:00
Eric Traut
ab1fbfc0d6 Enhanced reportUnnecessaryComparison diagnostic check so it also detects cases where a function appears within a condition expression. This is a common source of programming error. 2022-04-10 23:33:41 -07:00
Eric Traut
8660a6f870
Added support for type guard based on a.b is None or a.b is not None patterns where b is a member variable that distinguishes two different classes. (#3273)
Co-authored-by: Eric Traut <erictr@microsoft.com>
2022-04-01 11:06:53 -07:00
Eric Traut
d1e5c924bd Revert "Add support for type narrowing of NamedTuple fields with "is None" (#3271)"
This reverts commit e296cd58ee.
2022-03-29 20:02:54 -06:00