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

JuliaLang / julia / 1477 / 1477
78%
master: 78%

Build:
DEFAULT BRANCH: master
Ran 19 Mar 2026 04:10PM UTC
Files 349
Run time 15s
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 Mar 2026 04:57AM UTC coverage: 74.547%. First build
1477

push

buildkite

web-flow
Escape `@nospecialize` macro output (#61362)

`@nospecialize` and `@specialize` refer to names passed as macro
arguments, so
should theoretically escape them in their expansion. They currently work
without escaping because macroexpand.scm makes a special case for
`:meta` forms.
Unfortunately, that special handling escapes `:meta` too aggressively:

```
julia> macro mac(x); x; end
@mac (macro with 1 method)

julia> ex = @macroexpand @mac function f(@nospecialize(a))
                  a
              end
:(function Main.f($(Expr(:meta, :nospecialize, :a)))
      #= REPL[2]:1 =#
      #= REPL[2]:2 =#
      var"#2#a"
  end)

julia> func = @mac function f(@nospecialize(a))
                  a
              end
f (generic function with 1 method)

julia> func(1)
ERROR: UndefVarError: `#3#a` not defined in `Main`
```

This PR doesn't fix the above or change any current behaviour, but at
least
ensures that JuliaLowering doesn't need to introduce the same bug. There
are
alternatives if this doesn't work, but all would be hacky.

61852 of 82970 relevant lines covered (74.55%)

7582875.05 hits per line

Source Files on job linux-coverage - 1477
  • Tree
  • List 349
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 1477
  • 78a0dc11 on github
  • Next Job for on master (#1478)
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