<br><br><div class="gmail_quote">On Sat, Nov 15, 2008 at 9:55 PM, Zhongxing Xu <span dir="ltr"><<a href="mailto:xuzhongxing@gmail.com">xuzhongxing@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d"><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="gmail_quote"><div>One side problem is that I cannot make the MemRegion* in the ImmutableList const. If I did that, I would get compile error, related to FoldingSet Profile() overloading. <br>

</div></div><br>
</blockquote></div></div>It seems that ImmutableList cannot take a const type as template parameter, otherwise the  two Profile functions in the partial specialization of FoldingSetTrait would have the same signature. (FoldingSet.h:444, 447).<br>

</blockquote></div><br>Is that a g++ bug: at FoldingSet.h:234, the parameter type has already been const T&, but g++ still thinks T is 'const MemRegion*. I think T should be instantiated only with MemRegion*.<br>