Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Eric Wieser 56fe75eef4
fix: prevent corruption of the small allocator state (#13548)
This PR fixes possible corruption when recovering from memory
exhaustion.

This code threw an `std::bad_alloc` in the case of memory exhaustion,
but left the small allocator in an inconsistent state when doing so.
This would mean any code catching and recovering from the allocation
failure would likely find itself with a corrupt small allocator.

While we could try and make this code exception safe in future, simply
making it panic is better than the status quo, and is consistent with
how we handle most other allocation failures.

changelog-please-rerun-the-changelog-ci
2026-05-06 13:46:03 +00:00
.claude chore: update release tooling and docs (#13631) 2026-05-04 15:33:36 +00:00
.github chore: rename reldebug preset to more appropriate relwithassert (#13657) 2026-05-06 13:27:53 +00:00
.vscode chore: fixes from #13103 "enable separate codegen" (#13241) 2026-04-02 11:13:22 +00:00
doc doc: how to LLVM upgrade (#13656) 2026-05-06 10:03:53 +00:00
images
releases_drafts chore: remove stale release draft notes (#12518) 2026-02-17 19:56:23 +00:00
script chore: update release tooling and docs (#13631) 2026-05-04 15:33:36 +00:00
src fix: prevent corruption of the small allocator state (#13548) 2026-05-06 13:46:03 +00:00
stage0 chore: update stage0 2026-05-05 18:38:42 +00:00
tests perf: upgrade to LLVM 22 (#13545) 2026-05-06 12:36:06 +00:00
.gitattributes chore: migrate more tests to new test suite (#12809) 2026-03-06 16:52:01 +00:00
.gitignore chore: update release tooling and docs (#13631) 2026-05-04 15:33:36 +00:00
.gitpod.Dockerfile
.gitpod.yml chore: strip binaries only in release builds (#13208) 2026-03-31 17:18:43 +00:00
.ignore
AGENTS.md chore: add AGENTS.md symlink to CLAUDE.md (#13461) 2026-04-18 06:48:05 +00:00
CMakeLists.txt chore: use the lean-llvm LLVM for benchmarking (#13634) 2026-05-05 14:26:08 +00:00
CMakePresets.json chore: rename reldebug preset to more appropriate relwithassert (#13657) 2026-05-06 13:27:53 +00:00
CODEOWNERS chore: make @hargoniX code owner of the compiler (#10732) 2025-10-10 04:43:38 +00:00
CONTRIBUTING.md chore: migrate pkg tests (#12889) 2026-03-11 18:55:46 +00:00
flake.lock chore: update to c++20 (#12117) 2026-02-11 01:17:40 +00:00
flake.nix chore: add aarch64-darwin to flake (#12915) 2026-03-18 15:55:34 +00:00
lean-toolchain chore: relative lean-toolchains (#12652) 2026-02-25 10:23:35 +00:00
LICENSE
LICENSES feat: bundle leantar with Lean (#12822) 2026-03-09 20:10:59 +00:00
README.md doc: update URLs that are currently pointing to redirects (#10397) 2025-09-17 15:50:07 +00:00
RELEASES.md chore: updates to release_checklist.md (#7817) 2025-04-04 03:45:36 +00:00

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.