<p dir="auto">I discovered that the following does not work:</p>
<div class="highlight highlight-source-julia notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="julia&gt; muladd!(_, ::Nothing, _; kwargs...) = nothing
ERROR: syntax: all-underscore identifier used as rvalue around REPL[2]:1
Stacktrace:
 [1] top-level scope at REPL[2]:1"><pre class="notranslate">julia<span class="pl-k">&gt;</span> <span class="pl-en">muladd!</span>(_, <span class="pl-k">::</span><span class="pl-c1">Nothing</span>, _; kwargs<span class="pl-k">...</span>) <span class="pl-k">=</span> <span class="pl-c1">nothing</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">2</span>]<span class="pl-k">:</span><span class="pl-c1">1</span>
Stacktrace<span class="pl-k">:</span>
 [<span class="pl-c1">1</span>] top<span class="pl-k">-</span>level scope at REPL[<span class="pl-c1">2</span>]<span class="pl-k">:</span><span class="pl-c1">1</span></pre></div>
<p dir="auto">whereas without kwargs, it's fine:</p>
<div class="highlight highlight-source-julia notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="julia&gt; muladd!(_, ::Nothing, _) = nothing
muladd! (generic function with 1 method)"><pre class="notranslate">julia<span class="pl-k">&gt;</span> <span class="pl-en">muladd!</span>(_, <span class="pl-k">::</span><span class="pl-c1">Nothing</span>, _) <span class="pl-k">=</span> <span class="pl-c1">nothing</span>
muladd! (generic <span class="pl-k">function</span> with <span class="pl-c1">1</span> method)</pre></div>
<div class="highlight highlight-source-julia notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="julia&gt; f(_, a) = 10
f (generic function with 1 method)

julia&gt; f(_, a=1) = 10
ERROR: syntax: all-underscore identifier used as rvalue around REPL[0]:1"><pre class="notranslate">julia<span class="pl-k">&gt;</span> <span class="pl-en">f</span>(_, a) <span class="pl-k">=</span> <span class="pl-c1">10</span>
f (generic <span class="pl-k">function</span> with <span class="pl-c1">1</span> method)

julia<span class="pl-k">&gt;</span> <span class="pl-en">f</span>(_, a<span class="pl-k">=</span><span class="pl-c1">1</span>) <span class="pl-k">=</span> <span class="pl-c1">10</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">0</span>]<span class="pl-k">:</span><span class="pl-c1">1</span></pre></div>
<p dir="auto">The second form seems legitimate, no? The same issue arises with keyword arguments (<code class="notranslate">f(_; x=1) = ...</code>)</p>