Lake: `moreServerOptions` not passed to the server for files inside a library
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 82/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Domain
- tooling
Research direction
Read Lake/Build/Module.lean, starting at setupEditedModule, and compare its server options with setupExternalModule and getServerOptions. The reproduction uses lake setup-file on a library file and an external file; done when both report the expected moreServerOptions value for the library file as well.
Written by the indexing model from the issue text.
Description
[Claude Agent] Filed on behalf of @wrwg from a Claude Code session; the reproduction was run as described.
lake setup-file includes moreServerOptions only for files Lake does not identify as a library module. In Lake/Build/Module.lean, setupEditedModule sets
options := mod.leanOptions
although Module.serverOptions exists for this (it accumulates the package's and library's leanOptions and moreServerOptions). setupExternalModule does use getServerOptions, so files outside every library get them.
Reproduction
lakefile.toml:
name = "laketest"
defaultTargets = ["Foo"]
leanOptions = { maxHeartbeats = 400000 }
moreServerOptions = { "pp.unicode.fun" = true }
[[lean_lib]]
name = "Foo"
with Foo.lean and External.lean (any contents) next to it:
$ lake build
$ lake setup-file Foo.lean # library module
{..., "options":{"maxHeartbeats":400000}, ...}
$ lake setup-file External.lean # outside the library
{..., "options":{"maxHeartbeats":400000,"«pp.unicode.fun»":true}, ...}
Expected: Foo.lean also gets pp.unicode.fun, i.e. options := mod.serverOptions.
Lake 5.0.0-src+f3b06c7 (Lean 4.32.2), Linux aarch64.
- Dominant language
- Lean
- Stars
- 9.5k
- Forks
- 1k
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 270
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing 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.
More from leanprover/lean4
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
leanprover/lean4#15692 · 3 reactions ·
Maintainers usually reply within 1 day
-
`IO.FS.realPath` reports every failure as `noFileOrDirectory` instead of classifying by `errno`Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
leanprover/lean4#15683 ·
Maintainers usually reply within 1 day
-
`Child.pid` leaks the `Child` and its pipe file descriptors (owned argument treated as borrowed)Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
leanprover/lean4#15681 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
leanprover/lean4#15677 ·
Maintainers usually reply within 1 day
-
`Child.takeStdin` loses `setsid`, so `Child.kill` only signals the child, not its process groupOpenbug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
leanprover/lean4#15674 ·
Maintainers usually reply within 1 day
All issues in leanprover/lean4
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 2 days
-
change request evaluating
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
sindresorhus/eslint-plugin-unicorn#3907 ·
Maintainers usually reply within 1 day
-
bug needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
SDK: add a StarboundClient.getNetworkInfo convenience methodPossibly taken @Daniexie claimed this today. Opengood first issue sdk Stellar Wave
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
OlaGreat/starbound-realms#134 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
kellyjonbrazil/jc#788 ·
Maintainers usually reply within 2 days