github microsoft/pyright 1.1.364
Published 1.1.364

latest releases: 1.1.383, 1.1.382, 1.1.381...
4 months ago

Bug Fixes:

  • Fixed bug that results in a false negative syntax error when a PEP-695 type alias uses a keyword as a name.
  • Fixed a bug that leads to a false positive error when first argument to super call is an instance of a metaclass.
  • Fixed recent regression that results in a false positive when accessing an enum member from an instance of an enum class.
  • Fixed bug that results in a false negative when determining if a callable type is compatible with another callable type and the first has a *args parameter and the second has a single positional+keyword parameter.
  • Fixed a bug in the code flow engine that results in incorrect type evaluation in certain cases involving codependent variables in a loop.
  • Fixed a bug that results in incorrect type narrowing for a type guard function that uses TypeIs[type[T]].
  • Fixed regression related to "converter" field parameter for dataclasses when the converter refers to a generic class constructor.
  • Fixed a bug that results in a false negative when a generic function has a parameter with a generic type and a default argument value. This could lead to a typing hole when considering subtyping rules for callables.
  • Fixed a bug in the dataclass "converter" support that resulted in an error if the converter is tuple.
  • Fixed regression that results in incorrect type evaluation for annotations that involve nested protocols (such as P[P[T]]).
  • Fixed a bug that resulted in an infinite loop when a function that uses an *args: *Ts parameter is passed as an argument to itself.
  • Fixed bug that leads to a false negative when calling a callback function that returns a callable with a generic parameter type.

Behavior Changes:

  • Changed the handling of Enum subclasses that explicitly override value or name to avoid using the special-case logic for computing these types. This is done regardless of whether the class uses a custom metaclass.
  • Changed support for dataclass "converter" field parameter to be off by default. The "enableExperimentalFeatures" must now be enabled to use this feature. If and when PEP 712 is approved, it will be moved out of experimental.
  • Added support for using Literal and various other special forms in a value expression.

Enhancements:

  • Added support for recent addendum to typing spec that provides a special case for dataclasses so ClassVar and Final can be used together to distinguish between a regular Final instance variable and a ClassVar that is also Final.
  • Updated typeshed stubs to the latest version.
  • Improved type printer (the component that converts an internal type to textual format for diagnostic messages) so it better handles special forms like Literal or unions when used in a value expression.

Don't miss a new pyright release

NewReleases is sending notifications on new releases.