• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

JuliaLang / julia / #37976
77%

Build:
DEFAULT BRANCH: master
Ran 19 Dec 2024 11:25PM UTC
Jobs 1
Files 297
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

19 Dec 2024 06:23AM UTC coverage: 85.636% (+0.002%) from 85.634%
#37976

push

local

web-flow
Compiler.jl: use `Base.[all|any]` instead of `Compiler`'s own versions (#56851)

The current `Compiler` defines its own versions of `all` and `any`,
which are separate generic functions from `Base.[all|any]`:
https://github.com/JuliaLang/julia/blob/<a class=hub.com/JuliaLang/julia/commit/2ed1a411e0a080f3107e75bb65105a15a0533a90">2ed1a411e/Compiler/src/utilities.jl#L15-L32

On the other hand, at the point where `Base.Compiler` is bootstrapped,
only a subset of `Base.[all|any]` are defined, specifically those
related to `Tuple`:

https://github.com/JuliaLang/julia/blob/2ed1a411e0a080f3107e75bb65105a15a0533a90/base/tuple.jl#L657-L668.
Consequently, in the type inference world, functions like
`Base.all(::Generator)` are unavailable. If `Base.Compiler` attempts to
perform operations such as `::BitSet ⊆ ::BitSet` (which internally uses
`Base.[all|any]`), a world age error occurs (while `Compiler.[all|any]`
can handle these operations, `::BitSet ⊆ ::BitSet` uses
`Base.[all|any]`, leading to this issue)

To resolve this problem, this commit removes the custom `Compiler`
versions of `[all|any]` and switches to using the Base versions.

One concern is that the previous `Compiler` versions of `[all|any]`
utilized `@nospecialize`. That annotation was introduced a long time ago
to prevent over-specialization, but it is questionable whether it is
still effective with the current compiler implementation. The results of
the nanosoldier benchmarks conducted below also seem to confirm that
the `@nospecialize`s are no longer necessary for those functions.

49 of 50 new or added lines in 1 file covered. (98.0%)

28 existing lines in 4 files now uncovered.

51438 of 60066 relevant lines covered (85.64%)

11943077.13 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #37976.1 19 Dec 2024 11:25PM UTC 0
85.64
Source Files on build #37976
Detailed source file information is not available for this build.
  • Back to Repo
  • 82daca2c on github
  • Prev Build on master
  • Next Build on master
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc