<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>