<p dir="auto">MRE:</p>
<div class="highlight highlight-source-julia notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="julia&gt; function f(_::T; s) where T
           0
       end
ERROR: syntax: all-underscore identifier used as rvalue around REPL[12]:2```"><pre class="notranslate">julia<span class="pl-k">&gt;</span> <span class="pl-k">function</span> <span class="pl-en">f</span>(_<span class="pl-k">::</span><span class="pl-c1">T</span>; s) <span class="pl-k">where</span> T
           <span class="pl-c1">0</span>
       <span class="pl-k">end</span>
ERROR<span class="pl-k">:</span> syntax<span class="pl-k">:</span> all<span class="pl-k">-</span>underscore identifier used <span class="pl-k">as</span> rvalue around REPL[<span class="pl-c1">12</span>]<span class="pl-k">:</span><span class="pl-c1">2</span><span class="pl-s"><span class="pl-pds">```</span></span></pre></div>
<div class="highlight highlight-source-julia notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="julia&gt; versioninfo()
Julia Version 1.5.3
Commit 788b2c77c1 (2020-11-09 13:37 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin18.7.0)
  CPU: Intel(R) Core(TM) i7-8557U CPU @ 1.70GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-9.0.1 (ORCJIT, skylake)"><pre class="notranslate">julia<span class="pl-k">&gt;</span> <span class="pl-c1">versioninfo</span>()
Julia Version <span class="pl-c1">1.5</span>.<span class="pl-c1">3</span>
Commit <span class="pl-c1">788</span>b2c77c1 (<span class="pl-c1">2020</span><span class="pl-k">-</span><span class="pl-c1">11</span><span class="pl-k">-</span><span class="pl-c1">09</span> <span class="pl-c1">13</span><span class="pl-k">:</span><span class="pl-c1">37</span> UTC)
Platform Info<span class="pl-k">:</span>
  OS<span class="pl-k">:</span> macOS (x86_64<span class="pl-k">-</span>apple<span class="pl-k">-</span>darwin18.<span class="pl-c1">7.0</span>)
  CPU<span class="pl-k">:</span> <span class="pl-c1">Intel</span>(R) <span class="pl-c1">Core</span>(TM) i7<span class="pl-k">-</span><span class="pl-c1">8557</span>U CPU @ <span class="pl-c1">1.70</span>GHz
  WORD_SIZE<span class="pl-k">:</span> <span class="pl-c1">64</span>
  LIBM<span class="pl-k">:</span> libopenlibm
  LLVM<span class="pl-k">:</span> libLLVM<span class="pl-k">-</span><span class="pl-c1">9.0</span>.<span class="pl-c1">1</span> (ORCJIT, skylake)</pre></div>
<p dir="auto">MWE:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="julia&gt; function fun(_::Int; s)
       end
ERROR: syntax: all-underscore identifier used as rvalue around REPL[4]:2
Stacktrace:
 [1] top-level scope at REPL[4]:1"><pre class="notranslate"><code class="notranslate">julia&gt; function fun(_::Int; s)
       end
ERROR: syntax: all-underscore identifier used as rvalue around REPL[4]:2
Stacktrace:
 [1] top-level scope at REPL[4]:1
</code></pre></div>
<p dir="auto">I can <code class="notranslate">Meta.@dump</code> this, so I think parsing is working fine. I can't <code class="notranslate">Meta.@lower</code>, so I think the problem happens during lowering.</p>
<p dir="auto">Removing either the <code class="notranslate">_</code> or the keyword makes it work:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="julia&gt; function fun(::Int; s)
       end
fun (generic function with 1 method)

julia&gt; function fun2(_::Int)
       end
fun2 (generic function with 1 method)"><pre class="notranslate"><code class="notranslate">julia&gt; function fun(::Int; s)
       end
fun (generic function with 1 method)

julia&gt; function fun2(_::Int)
       end
fun2 (generic function with 1 method)
</code></pre></div>