Commit Graph

7562 Commits

Author SHA1 Message Date
Eric Traut
7ca7631808 Changed the way that PEP 695 type aliases are displayed when hovering over a reference to the type alias. Previously, the symbol was displayed as TypeAliasType rather than the expanded type alias type. This addresses #8147. 2024-06-15 19:03:12 +02:00
Eric Traut
6dc3b39902 Fixed a bug in the "type printer" (the component responsible for translating a type into its textual form) for type aliases defined using PEP 695 syntax. 2024-06-15 18:28:09 +02:00
Eric Traut
a03eb8492e Removed recent change in dataclass_transform handling. Dataclass properties should not be inherited from base classes after all. See https://discuss.python.org/t/dataclass-transform-inheriting-class-doesnt-recognize-kw-only-true-from-parent-class/55734/2. 2024-06-14 09:15:34 -07:00
Eric Traut
cbd189a29f
Changed dataclass_transform behavior to allow dataclass behaviors (like kw_only) to be overridden by intermediate base classes. This addresses #8140. (#8141) 2024-06-13 15:29:01 -07:00
Eric Traut
75d0f2b5a1 Fixed regression that results in an internal assertion (and crash) related to TypeVar variance inference. This addresses #8137. 2024-06-13 09:42:37 -07:00
Eric Traut
093e74aa6e
Fixed bug that causes a "bare" type (with no type argument) or type[Any] to be treated as a possible descriptor object. This addresses #8136. (#8138) 2024-06-13 08:56:09 -07:00
Eric Traut
5cb16fe7e4 Fixed bug that results in inconsistent diagnostics when surrounding an argument expression with parentheses. This addresses part of #8133. 2024-06-12 22:02:52 -07:00
Eric Traut
32f44d921a
Changed the behavior of double underscored symbols that are part of a module's namespace when that module is not a stub or in a "py.typed" package. Such symbols are no longer ignored, although they are considered private. This addresses #8131. (#8132) 2024-06-12 14:01:56 -07:00
PylanceBot
5d77369056
pull-pylance-with-pyright-1.1.367-9475931426 (#8123)
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-12 11:02:27 -07:00
Eric Traut
63e0876cff Added support for deprecated objects that are instantiated prior to being used as a decorator. This allows for a factory usage pattern. This addresses #5953. 2024-06-12 10:48:37 -07:00
Eric Traut
6baa5b1368 Fixed a bug that causes warnings.deprecated not to work if the python version is 3.13. This was caused by recent changes to typeshed stubs. 2024-06-12 10:46:48 -07:00
Eric Traut
b0cee14316
Changed inference behavior for generator functions with no reachable yield or yield from statements. The "yield type" (the first type argument to Generator) is now inferred as Never in this case rather than None. This addresses #8127. (#8130) 2024-06-12 09:40:56 -07:00
Eric Traut
597c634157 Published 1.1.367 2024-06-11 19:40:49 -07:00
Eric Traut
f2e5ff87df
Simplified internal FunctionType.clone method. (#8121) 2024-06-11 19:29:53 -07:00
Eric Traut
1742c57f8d Added helper function to wrap type evaluator functions that cannot be safely interrupted by a cancellation exception. 2024-06-11 15:13:20 -07:00
Erik De Bonte
807b160a39
Discard TypeEvaluator if cancellation leaves partially-constructed function type in cache (#8118) 2024-06-11 15:02:36 -07:00
Eric Traut
8e1797cca7 Clarified in documentation that ... is an ellipsis token. 2024-06-11 14:18:55 -07:00
Eric Traut
d34d9ccc27 Fixed regression in the handling of certain __init__ methods with an explicit type annotation for self. 2024-06-11 13:27:02 -07:00
Eric Traut
add2193101 Fixed subtle bug in a test case that was resulting in a long hang during unit tests. 2024-06-11 13:11:42 -07:00
Eric Traut
0df185ebd4
Simplified handling of TypeVars used in bound objects for constructor methods. (#8119) 2024-06-11 12:50:12 -07:00
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