Excess elements in struct initializer when nested std::array
<p>I'm getting <code>Excess elements in struct initializer</code> on the <code>return</code> line of the following:</p>

<pre><code>using triangleColor = std::array&lt;std::array&lt;float, 4&gt;, 3&gt;;

triangleColor colorBlend(TriangleColorBlend c){
    switch (c) {
        case TriangleColorBlend::white:
            return {{1.0,1.0,1.0,1.0},{0.7,0.7,0.7,1.0},{0.5,0.5,0.5,1.0}};
            break;

        ... // other cases
    }
}
</code></pre>

<p>I was hoping the curly-brace literal would work in the nested fashion, as it works fine if I do this with just a single std::array, not nested.</p>

<p>Is the above simply not possible, and why not?</p>

<p>Note, the suggested duplicate doesn't really address the odd behavior of std::array in a nested situation.</p>