Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Joachim Breitner d3b04871f5
perf: add checkInterrupted to inferType cache miss path (#13258)
This PR adds a `Core.checkInterrupted` call in `checkInferTypeCache` on
cache miss, allowing cancellation to be detected during large type
inference traversals. Previously, `inferTypeImp` could run for >100ms
without any interruption check when processing large expressions (e.g.
BVDecide proof terms), making IDE cancellation unresponsive.

The check is only on cache miss (actual computation), so cache hits have
zero overhead. `checkInterrupted` is used instead of the heavier
`checkSystem` to minimize performance impact — local benchmarks show no
measurable regression on `tests/elab/5664.lean`.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 06:03:55 +00:00
.claude
.github
.vscode chore: fixes from #13103 "enable separate codegen" (#13241) 2026-04-02 11:13:22 +00:00
doc
images
releases_drafts
script
src perf: add checkInterrupted to inferType cache miss path (#13258) 2026-04-03 06:03:55 +00:00
stage0 chore: update stage0 2026-04-02 10:20:07 +00:00
tests feat: no default values for structure instance notation patterns (#13243) 2026-04-03 03:25:23 +00:00
.gitattributes
.gitignore
.gitpod.Dockerfile
.gitpod.yml
.ignore
CMakeLists.txt chore: disable flaky tests (#13253) 2026-04-02 12:59:59 +00:00
CMakePresets.json
CODEOWNERS
CONTRIBUTING.md
flake.lock
flake.nix
lean-toolchain
LICENSE
LICENSES
README.md
RELEASES.md

This is the repository for Lean 4.

About

Installation

See Install Lean.

Contributing

Please read our Contribution Guidelines first.

Building from Source

See Building Lean.