<html>
<head>
<base href="https://llvm.org/bugs/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:antoshkka@gmail.com" title="Antony Polukhin <antoshkka@gmail.com>"> <span class="fn">Antony Polukhin</span></a>
</span> changed
<a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED DUPLICATE - std::function consturctors use unique_ptr with incorrect template param"
href="https://llvm.org/bugs/show_bug.cgi?id=25608">bug 25608</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">Status</td>
<td>NEW
</td>
<td>RESOLVED
</td>
</tr>
<tr>
<td style="text-align:right;">Resolution</td>
<td>---
</td>
<td>DUPLICATE
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED DUPLICATE - std::function consturctors use unique_ptr with incorrect template param"
href="https://llvm.org/bugs/show_bug.cgi?id=25608#c2">Comment # 2</a>
on <a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED DUPLICATE - std::function consturctors use unique_ptr with incorrect template param"
href="https://llvm.org/bugs/show_bug.cgi?id=25608">bug 25608</a>
from <span class="vcard"><a class="email" href="mailto:antoshkka@gmail.com" title="Antony Polukhin <antoshkka@gmail.com>"> <span class="fn">Antony Polukhin</span></a>
</span></b>
<pre>I've digged deeper and the issue now seems more interesting:
memory:2672:34: error: invalid conversion from
'std::__y1::unique_ptr<std::__y1::__function::__base<void(const Class&)>,
std::__y1::__allocator_destructor<std::__y1::allocator<std::__y1::__function::__func<OtherClass::Function(const
vector<Class>&)::<lambda(const Class&)>,
std::__y1::allocator<OtherClass::Function(const vector<Class>&)::<lambda(const
Class&)> >, void(const Class&)> > > >::pointer {aka
std::__y1::__function::__base<void(const Class&)>*}' to
'std::__y1::__allocator_destructor<std::__y1::allocator<std::__y1::__function::__func<OtherClass::Function(const
vector<Class>&)::<lambda(const Class&)>,
std::__y1::allocator<OtherClass::Function(const vector<Class>&)::<lambda(const
Class&)> >, void(const Class&)> > >::pointer {aka
std::__y1::__function::__func<OtherClass::Function(const
vector<Class>&)::<lambda(const Class&)>,
std::__y1::allocator<OtherClass::Function(const vector<Class>&)::<lambda(const
Class&)> >, void(const Class&)>*}' [-fpermissive]
Seems like `unique_ptr::pointer` type was incorrectly detected. First template
parameter of `unique_ptr` was used for detecting pointer type, not the
deleter's pointer type. This is probably a GCC error (I've failed to localize
it).
In that case, this issue becomes duplicate for
<a class="bz_bug_link
bz_status_NEW "
title="NEW --- - std::deque uses unique_ptr<pointer> instead of unique_ptr<value_type>"
href="show_bug.cgi?id=25582">https://llvm.org/bugs/show_bug.cgi?id=25582</a>
*** This bug has been marked as a duplicate of <a class="bz_bug_link
bz_status_NEW "
title="NEW --- - std::deque uses unique_ptr<pointer> instead of unique_ptr<value_type>"
href="show_bug.cgi?id=25582">bug 25582</a> ***</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>