Eric Traut
0edcd2eecf
Fixed bug that results in parameter types being converted to Any
when converting a NewType
or dataclass constructor to a callable. This addresses #8116 . ( #8117 )
2024-06-11 09:08:46 -07:00
Eric Traut
2b0a1d92dd
Simplified FunctionType.cloneForSpecialization method.
2024-06-10 19:39:33 -07:00
Eric Traut
ec196107e2
Updated typeshed stubs to the latest version (to pick up recent fix in shutil.pyi
).
2024-06-10 13:40:05 -07:00
Eric Traut
81d43e4c41
Added consistent use of getTypeVarScopeId
accessor function. No functional change.
2024-06-10 13:37:17 -07:00
Eric Traut
45fcebfe2c
Changed the import resolution order to better reflect runtime behavior and match a proposed change to the typing spec. In particular, stdlib typeshed stubs are now resolved prior to site_packages
. This addresses #8099 . ( #8100 )
2024-06-09 07:57:44 -07:00
Eric Traut
e588c6f984
Fixed bug in previous commit the caused default include/exclude values not to be provided in the case where a pyproject.toml was present but contained no pyright section. Thanks to @augustelalande for catching this.
2024-06-08 23:06:00 -07:00
Eric Traut
4319e03b71
Fixed bug that led to divergent behaviors between pyrightconfig.json and pyproject.toml configurations. Specifically, default exclude patterns were not added in the case of pyproject.toml. This addresses #8102 .
2024-06-08 22:24:45 -07:00
Eric Traut
238f70049f
Fixed bug that results in a false positive error under certain circumstances involving tuple type narrowing in a loop. This addresses #8095 . ( #8098 )
2024-06-08 13:12:36 -07:00
Eric Traut
5a0ec2dda4
Fixed bug that causes Final
annotation not to be honored when wrapped in an Annotated
annotation. This addresses #8097 .
2024-06-08 10:10:38 -07:00
Eric Traut
ec229aa925
Fixed a bug that results in incorrect (local) type evaluation of an instance variable with a declared type when assigned within a loop that uses an augmented assignment. This addresses #8090 . ( #8093 )
2024-06-07 15:51:02 -07:00
Eric Traut
aad860332e
Fixed bug that results in duplicate and (contradictory) diagnostic outputs in certain cases where reveal_type
is used in a loop.
2024-06-07 14:36:54 -07:00
Eric Traut
a0af8c5c8c
Simplified interface to "assignTypeToXXX" methods.
2024-06-07 14:02:05 -07:00
Eric Traut
4b84651950
Added the ability to override type checking configuration settings for each execution environment. This allows, for example, a test directory to use different settings than the directories that contain production code. This addresses #4059 .
2024-06-06 15:25:01 -07:00
Eric Traut
2c313972d3
Simplified JSON schema for config file in advance of adding config overrides for execution contexts.
2024-06-06 15:08:29 -07:00
Eric Traut
a4873a6a83
Simplified some code for logging diagnostics in checker and binder.
2024-06-06 13:57:48 -07:00
Eric Traut
32076952c7
Fixed bug that results in a false positive when accessing a generic attribute in a base class from a subclass that explicitly specializes the generic type. This addresses #8083 . ( #8086 )
2024-06-06 10:29:53 -07:00
Eric Traut
a029774b99
Added extra blank line to JSON output to assist with parsing when used in watch mode. This addresses #8082 .
2024-06-06 08:49:04 -07:00
Eric Traut
16ea2a80c5
Added check for except*
to enforce that exception class does not derive from BaseExceptionGroup
.
2024-06-05 22:57:21 -07:00
Eric Traut
2ade792ba8
Did a small cleanup pass on the implementation of PEP 746.
2024-06-05 21:00:48 -07:00
Eric Traut
ac7f6b7f74
Implemented provisional support for PEP 746, which provides consistency checks for metadata used in an Annotated
annotation.
2024-06-05 20:24:36 -07:00
Eric Traut
7c5495c1b4
Renamed some internal functions and constants for consistency and clarity.
2024-06-05 18:41:08 -07:00
Eric Traut
e2adef6b88
Updated typeshed stubs to the latest version. This addresses #8079 .
2024-06-05 18:13:08 -07:00
Eric Traut
de8e9939d2
Simplified logic and data structures for functions with parameter specs. ( #8080 )
2024-06-05 17:11:42 -07:00
PylanceBot
5551c4ac4e
pull-pylance-with-pyright-1.1.366-9378053462 ( #8072 )
...
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-05 10:05:53 -07:00
Eric Traut
8fa827608d
Fixed bug that results in incorrect truthy/falsy type narrowing for an enum that overrides __bool__
. This addresses #8074 .
2024-06-05 08:56:31 -07:00
Eric Traut
cff7779bdb
Published 1.1.366
2024-06-04 21:05:01 -07:00
Eric Traut
e90e041380
Added diagnostic check for an enum member with a type annotation. The typing spec says that this should be considered a typing error. This addresses #8060 . ( #8069 )
2024-06-04 11:11:06 -07:00
Eric Traut
58094a5c4e
Changed behavior of pyright to match the latest typing spec when it encounters an attribute with a type annotation within an Enum
class body in a stub. These are now treated as non-member attributes rather than members. Typeshed stubs have been updated to conform to the new standard. This addresses #8061 . ( #8063 )
2024-06-03 17:24:07 -07:00
Eric Traut
46eba6ab41
Fixed bug in x is E
type narrowing pattern where E
is an enum literal and x
is a supertype of E
like object
. This addresses #8059 . ( #8062 )
2024-06-03 17:08:32 -07:00
Eric Traut
14a7622300
Fixed several misspellings in the code base. No functional change.
2024-06-03 13:34:37 -07:00
Eric Traut
e3ce2c8033
Updated typeshed stubs to the latest version.
2024-06-03 11:59:39 -07:00
Eric Traut
67fd972213
Issue8054 ( #8055 )
...
* Fixed bug that results in a false negative when solving a type variable that involves an invariant context.
* Fixed a bug that can result in incorrect type inference for a subexpression that is part of an assignment expression if executed with an inference context (bidirectional type inference). This addresses #8054 .
2024-06-03 11:24:06 -07:00
Eric Traut
5ac25c8256
Fixed bug that results in a false negative when solving a type variable that involves an invariant context. ( #8051 )
2024-06-02 22:37:52 -07:00
Eric Traut
e4226ffea9
Revert "Simplified code in the typeVarContext module."
...
This reverts commit a572c05b26
.
2024-06-02 22:04:29 -07:00
Eric Traut
ac7f66131a
Revert "Restructure code in constraint solver. No functional change."
...
This reverts commit 6609e93ee6
.
2024-06-02 22:04:17 -07:00
Eric Traut
6609e93ee6
Restructure code in constraint solver. No functional change.
2024-06-02 21:25:55 -07:00
Eric Traut
a572c05b26
Simplified code in the typeVarContext module.
2024-06-02 19:34:03 -07:00
Eric Traut
409df8ff72
Fixed bug that results in false positive when evaluating the call to a generic function that involves a type variable used in both a covariant and contravariant (or invariant) position and both literal and non-literal types are involved. This addresses part of #6207 . ( #8049 )
2024-06-02 14:19:13 -07:00
Eric Traut
ecc4ebb12a
Fixed bug that results in a confusing error message when stub generation fails. This addresses #8044 .
2024-06-01 11:29:00 -07:00
Eric Traut
c7fbc82337
Reversed the change for #8035 . Tuple expressions used in generators will not retain literal types.
2024-05-31 20:45:50 -07:00
JR Heard
d5b6abad59
Fix typo in type-stubs.md ( #8037 )
2024-05-31 20:00:30 -07:00
Eric Traut
5dba796e16
Minor code cleanup in program module.
2024-05-31 19:57:59 -07:00
Eric Traut
8a2857876b
Renamed references to "list comprehension" to "comprehension" in various places for clarity. Comprehensions can be used in lists, dicts, sets or none of the above (in which case it's interpreted as a generator).
2024-05-31 17:57:40 -07:00
Eric Traut
03ddb0917b
Changed the tuple inference behavior to retain literals (as it did prior to 1.1.365) when a tuple expression is used within a generator expression. This addresses #8035 . ( #8036 )
2024-05-31 17:37:06 -07:00
Eric Traut
e69974cee0
Fixed bug that results in a false positive error under certain circumstances involving a call to a higher-order generic function with another function that involves a class with a contravariant type variable. This addresses #7212 .
2024-05-31 13:44:51 -07:00
Eric Traut
0e42a7ea56
Removed support for inlined TypedDict annotations. This idea never gained enough support to make it into a PEP.
2024-05-30 18:16:13 -07:00
Eric Traut
1bc5949959
Added comments for experimental features.
2024-05-30 18:14:47 -07:00
Eric Traut
181382d6a1
More cleanup of prefetched types.
2024-05-30 18:08:46 -07:00
Eric Traut
ce229098e6
Code cleanup for prefetched types used in type evaluator.
2024-05-30 17:41:39 -07:00
Eric Traut
32fa85e3ed
Changed behavior of constructor call evaluation when __new__
evaluation results in type evaluation errors. Previously, pyright skipped the __init__
evaluation in this case. It now proceeds to evaluate __init__
, potentially generating redundant errors. This addresses #8026 . ( #8029 )
2024-05-30 12:49:11 -07:00