<p dir="auto">Code:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="fn foo(v: &amp;[int]) {
    match v {
        [_] =&gt; {},
        [_, ..] =&gt; {},
        _ =&gt; {},
    }
}"><pre class="notranslate"><code class="notranslate">fn foo(v: &amp;[int]) {
    match v {
        [_] =&gt; {},
        [_, ..] =&gt; {},
        _ =&gt; {},
    }
}
</code></pre></div>
<p dir="auto">Wrong error is:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="/home/vagrant/tmp2.rs:4:9: 4:16 error: unreachable pattern
/home/vagrant/tmp2.rs:4         [_, ..] =&gt; {},
                                ^~~~~~~
error: aborting due to previous error"><pre class="notranslate"><code class="notranslate">/home/vagrant/tmp2.rs:4:9: 4:16 error: unreachable pattern
/home/vagrant/tmp2.rs:4         [_, ..] =&gt; {},
                                ^~~~~~~
error: aborting due to previous error
</code></pre></div>
<p dir="auto">Until friday (commit <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/rust-lang/rust/commit/3047614/hovercard" href="https://github.com/rust-lang/rust/commit/3047614"><tt>3047614</tt></a>) the following (very contrived) code compiled:</p>
<div class="highlight highlight-source-rust notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="fn main() {
    println!(&quot;{}&quot;, count_members(&amp;[1, 2, 3, 4]));
}

fn count_members(v: &amp;[uint]) -&gt; uint {
    match v {
        []         =&gt; 0,
        [_]        =&gt; 1,
        [_x, ..xs] =&gt; 1 + count_members(xs)
    }
}"><pre class="notranslate"><span class="pl-k">fn</span> <span class="pl-en">main</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
    <span class="pl-en">println</span><span class="pl-en">!</span><span class="pl-kos">(</span><span class="pl-s">"{}"</span>, count_members<span class="pl-kos">(</span>&amp;<span class="pl-kos">[</span><span class="pl-c1">1</span>, <span class="pl-c1">2</span>, <span class="pl-c1">3</span>, <span class="pl-c1">4</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span>

<span class="pl-k">fn</span> <span class="pl-en">count_members</span><span class="pl-kos">(</span><span class="pl-s1">v</span><span class="pl-kos">:</span> <span class="pl-c1">&amp;</span><span class="pl-kos">[</span><span class="pl-smi">uint</span><span class="pl-kos">]</span><span class="pl-kos">)</span> -&gt; <span class="pl-smi">uint</span> <span class="pl-kos">{</span>
    <span class="pl-k">match</span> v <span class="pl-kos">{</span>
        <span class="pl-kos">[</span><span class="pl-kos">]</span>         =&gt; <span class="pl-c1">0</span><span class="pl-kos">,</span>
        <span class="pl-kos">[</span>_<span class="pl-kos">]</span>        =&gt; <span class="pl-c1">1</span><span class="pl-kos">,</span>
        <span class="pl-kos">[</span>_x<span class="pl-kos">,</span> ..xs<span class="pl-kos">]</span> =&gt; <span class="pl-c1">1</span> + <span class="pl-en">count_members</span><span class="pl-kos">(</span>xs<span class="pl-kos">)</span>
    <span class="pl-kos">}</span>
<span class="pl-kos">}</span></pre></div>
<p dir="auto">With <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/rust-lang/rust/commit/ca3e557/hovercard" href="https://github.com/rust-lang/rust/commit/ca3e557"><tt>ca3e557</tt></a>, it fails with:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="array_match.rs:9:5: 9:15 error: unreachable pattern
array_match.rs:9     [_x, ..xs] =&gt; 1 + count_members(xs)
                     ^~~~~~~~~~
error: aborting due to previous error"><pre class="notranslate"><code class="notranslate">array_match.rs:9:5: 9:15 error: unreachable pattern
array_match.rs:9     [_x, ..xs] =&gt; 1 + count_members(xs)
                     ^~~~~~~~~~
error: aborting due to previous error
</code></pre></div>
<p dir="auto">I'll try to bisect and get to a single commit</p>