github astral-sh/ty 0.0.1-alpha.16

latest releases: 0.0.2, 0.0.1-alpha.35, 0.0.1-alpha.34...
pre-release4 months ago

Release Notes

Bug fixes

  • Fix server panics when hovering over invalid syntax in Callable annotations (#19517)
  • match statements: Fix narrowing and reachability of class patterns with arguments (#19512)
  • Fix server panics when hovering over illegal Literal[…] annotations with inner subscript expressions (#19489)
  • Pass down specialization to generic dataclass bases (#19472)

Server

  • Add support for "go to definition" for attribute accesses and keyword arguments (#19417)
  • Add support for "go to definition" for import statements (#19428)
  • Add support for "document highlights" (#19515)
  • Add partial support for "find references" (#19475)
  • Prefer the runtime definition, not the stub definition, on a go-to-definition request for a class or function. Currently this is only implemented for definitions originating outside of the stdlib. (#19471)
  • Add semantic token support for more identifiers (#19473)
  • Avoid rechecking the entire project when a file in the editor is opened or closed (#19463)

Typing semantics and features

  • Handle splatted arguments in function calls (#18996)
  • Improve place lookup and narrowing in lazy scopes (#19321)
  • Add exhaustiveness checking and reachability analysis for match statements (#19508)
  • Improve reachability analysis for isinstance(…) branches (#19503)
  • Make tuple subclass constructors sound (#19469)
  • Extend tuple __len__ and __bool__ special casing to also cover tuple subclasses (#19289)
  • Add support for dataclasses.field (#19553)
  • Add support for dataclasses.InitVar (#19527)
  • Add support for @warnings.deprecated and typing_extensions.deprecated (#19376)
  • Do not consider a type T to satisfy a method member on a protocol unless the method is available on the meta-type of T (#19187)
  • Implement expansion of enums into unions of literals (#19382)
  • Support iterating over enums (#19486)
  • Detect enums if metaclass is a subtype of EnumType / EnumMeta (#19481)
  • Infer single-valuedness for enums deriving from int or str (#19510)
  • Detect illegal non-enum attribute accesses in Literal annotations (#19477)
  • Disallow assignment to Final class attributes (#19457)
  • Handle implicit instance attributes declared Final (#19462)
  • Disallow Final in function parameter- and return-type annotations (#19480)
  • Disallow illegal uses of ClassVar (#19483)
  • Make del x force a local resolution of x in the current scope (#19389)
  • Perform type narrowing for places marked global (#19381)
  • Infer correct types for attribute accesses on intersections with negative parts (#19524)
  • Sync vendored typeshed stubs (typeshed diff)

Memory usage optimizations

Contributors

Install ty 0.0.1-alpha.16

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ty/releases/download/0.0.1-alpha.16/ty-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ty/releases/download/0.0.1-alpha.16/ty-installer.ps1 | iex"

Download ty 0.0.1-alpha.16

File Platform Checksum
ty-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
ty-x86_64-apple-darwin.tar.gz Intel macOS checksum
ty-aarch64-pc-windows-msvc.zip ARM64 Windows checksum
ty-i686-pc-windows-msvc.zip x86 Windows checksum
ty-x86_64-pc-windows-msvc.zip x64 Windows checksum
ty-aarch64-unknown-linux-gnu.tar.gz ARM64 Linux checksum
ty-i686-unknown-linux-gnu.tar.gz x86 Linux checksum
ty-powerpc64-unknown-linux-gnu.tar.gz PPC64 Linux checksum
ty-powerpc64le-unknown-linux-gnu.tar.gz PPC64LE Linux checksum
ty-s390x-unknown-linux-gnu.tar.gz S390x Linux checksum
ty-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
ty-armv7-unknown-linux-gnueabihf.tar.gz ARMv7 Linux checksum
ty-aarch64-unknown-linux-musl.tar.gz ARM64 MUSL Linux checksum
ty-i686-unknown-linux-musl.tar.gz x86 MUSL Linux checksum
ty-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum
ty-arm-unknown-linux-musleabihf.tar.gz ARMv6 MUSL Linux (Hardfloat) checksum
ty-armv7-unknown-linux-musleabihf.tar.gz ARMv7 MUSL Linux checksum

Don't miss a new ty release

NewReleases is sending notifications on new releases.