Lake build cycle errors are not human-readable
Open
Nobody has claimed this yet.
bug
Lake
P-medium
- Dominant language
- Lean
- Stars
- 9.2k
- Forks
- 990
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 175
Description
A typical lake build cycle error looks like:
% lake build
error: build cycle detected:
+Std.Lean.Meta.BoolExpr:lean.precompileImports
+Std:lean.precompileImports
+Std.Lean.Meta.BoolExpr:deps
+Std.Lean.Meta.BoolExpr:leanArts
std/Std:leanLib.leanArts
+Std.Lean.Meta.BoolExpr:lean.precompileImports
This includes Lake internals that a user shouldn't see. The output should be a list of files, like A.lean ▸ B.lean ▸ C.lean ▸ A.lean, and there should not be any mention of build steps like precompileImports, deps, leanArts, etc.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the example with lake build and trace how the build-cycle error is assembled. Done means the report presents a readable file cycle such as A.lean ▸ B.lean ▸ C.lean ▸ A.lean without internal steps such as precompileImports, deps, or leanArts.
Written by the indexing model from the issue text.
Assessment
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100