This PR adds a `Unit` assumption to alternatives of the splitter that would otherwise not have arguments. This fixes #11211. In practice these argument-less alternatives did not cause wrong behavior, as the motive when used with `split` is always a function type. But it is better to be safe here (maybe someone uses splitters in other ways), it may increase the effectiveness of #10184 and simplifies #11220. The perf impact is insignificant in the grand scheme of things on stdlib, but the change is effective: ``` ~/lean4 $ build/release/stage1/bin/lean tests/lean/run/matchSplitStats.lean 969 splitters found 455 splitters are const defs ~/lean4 $ build/release/stage2/bin/lean tests/lean/run/matchSplitStats.lean 969 splitters found 829 splitters are const defs ``` |
||
|---|---|---|
| .. | ||
| bench | ||
| compiler | ||
| elabissues | ||
| ir | ||
| lake | ||
| lean | ||
| pkg | ||
| playground | ||
| plugin | ||
| simpperf | ||
| .gitignore | ||
| common.sh | ||
| lakefile.toml | ||
| lean-toolchain | ||