<p dir="auto">I think this was just missed as part of the infix expansions, or is there a reason these don't allow for their setindex variant? Looks like a parser failure to me.</p>
<p dir="auto">MWE:</p>
<div class="highlight highlight-source-julia notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="julia&gt; a = [1]               
1-element Vector{Int64}:     
 1                           
                             
julia&gt; a[1] ⊽= 2             
ERROR: syntax: unexpected &quot;=&quot;
Stacktrace:                  
 [1] top-level scope         
   @ none:1                  
                             
julia&gt; a[1] ⊼= 2             
ERROR: syntax: unexpected &quot;=&quot;
Stacktrace:                  
 [1] top-level scope         
   @ none:1                  "><pre class="notranslate">julia<span class="pl-k">&gt;</span> a <span class="pl-k">=</span> [<span class="pl-c1">1</span>]               
<span class="pl-c1">1</span><span class="pl-k">-</span>element Vector{Int64}<span class="pl-k">:</span>     
 <span class="pl-c1">1</span>                           
                             
julia<span class="pl-k">&gt;</span> a[<span class="pl-c1">1</span>] ⊽<span class="pl-k">=</span> <span class="pl-c1">2</span>             
ERROR<span class="pl-k">:</span> syntax<span class="pl-k">:</span> unexpected <span class="pl-s"><span class="pl-pds">"</span>=<span class="pl-pds">"</span></span>
Stacktrace<span class="pl-k">:</span>                  
 [<span class="pl-c1">1</span>] top<span class="pl-k">-</span>level scope         
   @ none<span class="pl-k">:</span><span class="pl-c1">1</span>                  
                             
julia<span class="pl-k">&gt;</span> a[<span class="pl-c1">1</span>] ⊼<span class="pl-k">=</span> <span class="pl-c1">2</span>             
ERROR<span class="pl-k">:</span> syntax<span class="pl-k">:</span> unexpected <span class="pl-s"><span class="pl-pds">"</span>=<span class="pl-pds">"</span></span>
Stacktrace<span class="pl-k">:</span>                  
 [<span class="pl-c1">1</span>] top<span class="pl-k">-</span>level scope         
   @ none<span class="pl-k">:</span><span class="pl-c1">1</span>                  </pre></div>
<p dir="auto"><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andreasnoack/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andreasnoack">@andreasnoack</a> mentioned this on Slack:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="julia&gt; (Complex{T} where T) &lt;: Complex
false"><pre class="notranslate"><code class="notranslate">julia&gt; (Complex{T} where T) &lt;: Complex
false
</code></pre></div>
<p dir="auto">The annoying part is that in <code class="notranslate">Complex</code>, the upper bound for the <code class="notranslate">TypVar</code> is <code class="notranslate">Real</code>, but in <code class="notranslate">Complex{T} where T</code>, the upper bound is simply <code class="notranslate">Any</code>. But since it's not possible to instantiate e.g. <code class="notranslate">Complex{String}</code>:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="julia&gt; Complex{String}
ERROR: TypeError: in Complex, in T, expected T&lt;:Real, got Type{String}
Stacktrace:
 [1] top-level scope at REPL[17]:1"><pre class="notranslate"><code class="notranslate">julia&gt; Complex{String}
ERROR: TypeError: in Complex, in T, expected T&lt;:Real, got Type{String}
Stacktrace:
 [1] top-level scope at REPL[17]:1
</code></pre></div>
<p dir="auto">Then the <em>extent</em> of the two types <code class="notranslate">Complex{T} where {T &lt;: Any}</code> is the same as <code class="notranslate">Complex{T} where {T &lt;: Real}</code>. So Julia might as well normalise it to <code class="notranslate">Complex{T} where {T &lt;: Real}</code>. Similarly for e.g. <code class="notranslate">Complex{&lt;:Number}</code>.</p>