Issue with std::BinaryPredicate using Solaris CC
<p>I have a problem on Solaris using the Sun Studio compiler. It seems related to libCstd.</p>

<p>Consider the following code :</p>

<pre><code>#include &lt;list&gt;
static bool f(double fFreq1, double fFreq2) { return false; }
int main()
{
    std::list&lt; double &gt; l;
    l.unique(f);
}
</code></pre>

<p>The error message I get is :</p>

<pre><code>"uniq.cpp", line 6: Error: Could not find a match for std::list&lt;double&gt;::unique(bool(double,double)) needed in main().
</code></pre>

<p>But when I use references instead of values, it compiles just fine :</p>

<pre><code>#include &lt;list&gt;
static bool f(const double&amp; fFreq1, const double&amp; fFreq2) { return false; }
int main()
{
    std::list&lt; double &gt; l;
    l.unique(f);
}
</code></pre>

<p>Compilation is ok for both using g++. Does anyone know what is going on ? Thanks !</p>
