<div dir="ltr">

<div style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial"><span style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">[Resending with cfe-commits@, whoops]</span></div><div style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial"><span style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial"><span style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Hi Kirill,</span></div><span style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><div><span style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">We believe this </span>patch might be breaking one of the buildbots:<br></span></div><div><span style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">   <span> </span><a href="http://lab.llvm.org:8011/builders/clang-x86_64-linux-abi-test/builds/29719" target="_blank" style="color:rgb(17,85,204)">http://lab.llvm.org:8011/<wbr>builders/clang-x86_64-linux-<wbr>abi-test/builds/29719</a></span></div><div><span style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Which is complaining about the std::unique_ptr copy constructor being called in <span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">DexIndexTests.cpp. It seems likely that returning a unique_ptr:</span></span></div><div><span style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div>> std::unique_ptr<Iterator></span><span class="gmail-im" style="color:rgb(80,0,80);font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial"><br style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial"><span style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">> createAnd(std::vector<std::</span><span style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">uni<wbr>que_ptr<Iterator>> Children) {</span><br style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial"></span><span class="gmail-im" style="color:rgb(80,0,80);font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial"><span style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">>   return llvm::make_unique<AndIterator></span><span style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><wbr>(move(Children));</span><br style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial"><span style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">> }</span><div><span style="font-size:12.8px"><br></span></div></span><div style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial"><span style="font-size:12.8px">And sites such as:</span></div><div style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial"><span style="font-size:12.8px"><br></span></div><div style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial"><span class="gmail-im" style="color:rgb(80,0,80)"><span style="font-size:12.8px"><span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">>  auto AndEmpty = createAnd({create(L0)});</span><br style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"></span><div><span style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div></span><div>Are triggering a bug in clang 3.7 and 3.8 where the move constructor isn't correctly inferred:</div><div><br></div><div>    <a href="https://godbolt.org/g/Aquug4" target="_blank" style="color:rgb(17,85,204)">https://godbolt.org/g/Aquug4</a></div><div><br></div><div>Wrapping everything in std::move will likely fix that, those two versions of clang are still officially supported by LLVM/Clang.</div></div><div style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial">--</div><div style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial">Thanks,</div><div style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial">Jeremy</div><div class="gmail-yj6qo" style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial"></div><div class="gmail_extra"><br></div></div>