Skip to content

fix(query): avoid recursive type blowups in hover and signature docs - #2626

Merged
Myriad-Dreamin merged 2 commits into
mainfrom
fix-query-bound-signature-docs
Jun 27, 2026
Merged

Myriad-Dreamin merged 2 commits into
mainfrom
fix-query-bound-signature-docs

Conversation

@Myriad-Dreamin

@Myriad-Dreamin Myriad-Dreamin commented Jun 27, 2026 •

Copy link
Copy Markdown
Owner
  • Cache top-level and subtree type simplification results so recursive canonicalization is reused instead of recomputed.
  • Guard repeated (TypeVar, polarity) expansion while rendering signature docs.
  • Render hover/docs return types with short forms when the full recursive expansion is not surfaced.
  • Add recursive fixtures and tests for the original hover slowdown and the reduced explanatory case.

@Myriad-Dreamin
Myriad-Dreamin marked this pull request as draft June 27, 2026 07:22
@Myriad-Dreamin Myriad-Dreamin changed the title fix(query): bound signature docs type expansion fix(query): avoid recursive type blowups in hover and signature docs Jun 27, 2026
@Myriad-Dreamin
Myriad-Dreamin marked this pull request as ready for review June 27, 2026 16:16
@Myriad-Dreamin
Myriad-Dreamin merged commit 40d9012 into main Jun 27, 2026
33 checks passed
@Myriad-Dreamin
Myriad-Dreamin deleted the fix-query-bound-signature-docs branch June 30, 2026 08:02
social4hyq pushed a commit to social4hyq/homebrew-core that referenced this pull request Sep 20, 2026
tinymist 0.15.4

Created-by: HarmonybrewBot
Commit-by: HarmonybrewBot
Merged-by: HarmonybrewBot
Description: Created by `brew bump`

---

Created with `brew bump-formula-pr`.<details>
  <summary>release notes</summary>
  <pre>* Bumped typst.ts to 0.8.0-rc3 in Myriad-Dreamin/tinymist#2638

### LSIF

* Added package LSIF report generation in Myriad-Dreamin/tinymist#2609
* Added LSIF hover queries in Myriad-Dreamin/tinymist#2612
* Added SCIP index support in Myriad-Dreamin/tinymist#2613
* Added SCIP package queries in Myriad-Dreamin/tinymist#2627

### DAP

* Added function breakpoint support in Myriad-Dreamin/tinymist#2541
* Added line breakpoint support in Myriad-Dreamin/tinymist#2615
* Added scopes and stack frames in Myriad-Dreamin/tinymist#2617

### Editor

* (Fix) Added hints for joined Typst extra args in Myriad-Dreamin/tinymist#2601
* Added the IntelliJ LSP integration plugin by @bratorange in Myriad-Dreamin/tinymist#2087

### GPU Viewer

* (Fix) Supported the GPU previewer in remote Windows sessions in Myriad-Dreamin/tinymist#2635
* (Fix) Allowed the GPU viewer to activate in the UI host in Myriad-Dreamin/tinymist#2636

### Preview

* (Fix) Skipped canvas cache-hit waits in Myriad-Dreamin/tinymist#2614
* Added the Typst Preview NG extension in Myriad-Dreamin/tinymist#1903
* Added preview-ng interactions in Myriad-Dreamin/tinymist#2622
* (Fix) Improved preview-ng canvas layout and zoom in Myriad-Dreamin/tinymist#2623
* (Perf) Improved preview-ng scroll rendering in Myriad-Dreamin/tinymist#2630
* (Fix) Stabilized preview-ng interactions in Myriad-Dreamin/tinymist#2634
* (Fix) Corrected conic gradient orientation in the viewer in Myriad-Dreamin/tinymist#2639
* (Fix) Aligned viewer renderer suite cases in Myriad-Dreamin/tinymist#2640
* Added HTML-target preview support in Myriad-Dreamin/tinymist#1238

### Docs

* Added package documentation rendering from LSIF indexes in Myriad-Dreamin/tinymist#2144
* Added source-page enrichment from indexes in Myriad-Dreamin/tinymist#2618
* (Fix) Avoided eager package preloading in Myriad-Dreamin/tinymist#2629
* (Fix) Avoided cyclic package docs deadlocks in Myriad-Dreamin/tinymist#2681
* (Perf) Cached source span lookups in Myriad-Dreamin/tinymist#2631
* (Docs) Added package READMEs and licenses in Myriad-Dreamin/tinymist#2632
* (Docs) Applied minor typo and language fixes by @navdeeprana in Myriad-Dreamin/tinymist#2604

### Server

* (Fix) Skipped missing preload sources in Myriad-Dreamin/tinymist#2628

### Completion

* (Fix) Completed paths inside strings in Myriad-Dreamin/tinymist#2646
* (Test) Covered string path completions in Myriad-Dreamin/tinymist#2645

### Hover

* (Fix) Avoided recursive type blowups in hover and signature docs in Myriad-Dreamin/tinymist#2626

### Type Checking

* (Fix) Improved Cetz type inference in Myriad-Dreamin/tinymist#2659
* (Fix) Resolved semantic types in doc annotations in Myriad-Dreamin/tinymist#2660
* (Fix) Resolved binders in package type dumps in Myriad-Dreamin/tinymist#2662
* (Perf) Sped up package type scope dumps in Myriad-Dreamin/tinymist#2667
* (Test) Covered deferred inference cases in Myriad-Dreamin/tinymist#2649
* (Test) Aligned deferred inference fixtures with main in Myriad-Dreamin/tinymist#2654

### Code Analysis

* (Fix) Preserved file ids for docs declarations in Myriad-Dreamin/tinymist#2661
* (Fix) Guarded recursive bound traversal in Myriad-Dreamin/tinymist#2663

### Linting

* (Fix) Removed the obsolete type comparison lint in Myriad-Dreamin/tinymist#2170

### Syntax Highlighting

* (Fix) Classified `@` as a reference marker only in markup by @QuadnucYard in Myriad-Dreamin/tinymist#2665

### Code Action

* (Fix) Restored the equation code action after the v0.13 regression in Myriad-Dreamin/tinymist#1561

### Export

* Embedded time zone information into exported PDFs in Myriad-Dreamin/tinymist#1630
* (Test) Added regression coverage for on-save exports in Myriad-Dreamin/tinymist#2090
* (Test) Isolated Neovim export spec outputs in Myriad-Dreamin/tinymist#2672

### Testing

* Pretty-printed HTML snapshots in CLI tests in Myriad-Dreamin/tinymist#2644
* (Test) Ensured document summary coverage in Myriad-Dreamin/tinymist#1475

**Full Changelog**: Myriad-Dreamin/tinymist@v0.15.2...v0.15.4


<details>

<summary><strong>Download Binary</strong></summary>

# tinymist-viewer 0.15.4

## Install tinymist-viewer 0.15.4

### Install prebuilt binaries via shell script

```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-installer.sh | sh
```

### Install prebuilt binaries via powershell script

```sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-installer.ps1 | iex"
```

## Download tinymist-viewer 0.15.4

|  File  | Platform | Checksum |
|--------|----------|----------|
| [tinymist-viewer-aarch64-apple-darwin.tar.gz](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-aarch64-apple-darwin.tar.gz.sha256) |
| [tinymist-viewer-x86_64-apple-darwin.tar.gz](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-x86_64-apple-darwin.tar.gz.sha256) |
| [tinymist-viewer-aarch64-pc-windows-msvc.zip](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-aarch64-pc-windows-msvc.zip.sha256) |
| [tinymist-viewer-x86_64-pc-windows-msvc.zip](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-x86_64-pc-windows-msvc.zip.sha256) |
| [tinymist-viewer-aarch64-unknown-linux-gnu.tar.gz](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [tinymist-viewer-loongarch64-unknown-linux-gnu.tar.gz](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-loongarch64-unknown-linux-gnu.tar.gz) | LoongArch64 Linux | [checksum](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-loongarch64-unknown-linux-gnu.tar.gz.sha256) |
| [tinymist-viewer-x86_64-unknown-linux-gnu.tar.gz](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-x86_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-x86_64-unknown-linux-gnu.tar.gz.sha256) |
| [tinymist-viewer-arm-unknown-linux-gnueabihf.tar.gz](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-arm-unknown-linux-gnueabihf.tar.gz) | ARMv6 Linux (Hardfloat) | [checksum](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-arm-unknown-linux-gnueabihf.tar.gz.sha256) |
| [tinymist-viewer-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [tinymist-viewer-aarch64-unknown-linux-musl.tar.gz](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [tinymist-viewer-loongarch64-unknown-linux-musl.tar.gz](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-loongarch64-unknown-linux-musl.tar.gz) | LoongArch64 MUSL Linux | [checksum](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-loongarch64-unknown-linux-musl.tar.gz.sha256) |
| [tinymist-viewer-riscv64gc-unknown-linux-musl.tar.gz](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-riscv64gc-unknown-linux-musl.tar.gz) | RISCV MUSL Linux | [checksum](https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.15.4/tinymist-viewer-riscv64gc-unknown-linux-musl.tar.gz.sha256) |
| [tinymist-viewer-x86_64-unknown-linux-musl.tar.gz](https://github.com/

See merge request: Harmonybrew/homebrew-core!18453
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant