<div dir="ltr">Clang is right; gcc is wrong. [dcl.stc] of the standard says, "The mutable specifier … cannot be applied to names declared const or static, and cannot be applied to reference members."<br></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Mon, Oct 21, 2013 at 12:50 PM, Stefan Seefeld <span dir="ltr"><<a href="mailto:stefan@seefeld.name" target="_blank">stefan@seefeld.name</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 2013-10-21 12:35, David Blaikie wrote:<br>
> Interestingly GCC ToT (g++-tot (GCC) 4.9.0 20130829 (experimental))<br>
> rejects this the same way Clang does, but 4.8.1 does not (it accepts it).<br>
<br>
</div>Interesting.  Unfortunately I still don't entirely understand why the<br>
code is rejected. Is there any wording in the C++ spec that suggests<br>
that the "wrapper" template may not be instantiated with some const type<br>
? In my reading, a "mutable" member is simply a statement about it not<br>
being part of the "logically const" state of the containing object,<br>
which is entirely orthogonal to the question of whether the member<br>
itself is immutable. Obviously combining "const" and "mutable" in a<br>
single declaration is meaningless. But as in my code, both qualifiers<br>
can still end up in the same spot through parametrization, which seems<br>
entirely reasonable to me. Am I wrong ?<br>
<br>
While I can think of some workarounds, I'd rather understand what the<br>
issue is before making any attempt at working around it.<br>
<div class="HOEnZb"><div class="h5"><br>
Many thanks,<br>
        Stefan<br>
<br>
--<br>
<br>
      ...ich hab' noch einen Koffer in Berlin...<br>
<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
</div></div></blockquote></div><br></div>