-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Commit 633ef96
authored
precompile: fail in (closer to) linear time and linear error messages (#59765)
Do not allow serial compile fallbacks, since this causes performance
and output degredation when serial precompile fails. The precompilepkg
driver already ensured DAG ordering, so this work is not necessary or
useful to repeat. A bit of code cleanup and asking for Claude to
describe the argument list as well, plus a test to start to cover any
of this file's code functionality in CI unit tests.
This then lets us fix a lot of the error printing issues too, since we
know each package will only get one chance to load, not once for each
appearance in the dependency tree. Now it tries to be slightly more
careful about when and where output should be printed: progress goes to
logio (either io or devnull) while output goes to io always and errors
get returned without duplicating both the error text and output
messages of them also.
The main logic here is that we need to print all output if any
requested packages failed, but we print only output from successful
packages if all requested packages succeeded. If a package was
successful, then its output is required to be printed since it will not
be regenerated in the future (we don't reprint precompile output on
loading since that might be obnoxious for us to implement). If a
required package is successful however, none of the failures mattered
and they will be regenerated in the future when they are required, so
those should be completely filtered out.
With some contributions (mainly the docs outline) by Claude1 parent d244e1b commit 633ef96Copy full SHA for 633ef96
File tree
Expand file treeCollapse file tree
5 files changed
+330
-103
lines changedOpen diff view settings
Filter options
- base
- doc/src/devdocs
- src
- test
Expand file treeCollapse file tree
5 files changed
+330
-103
lines changedOpen diff view settings
0 commit comments