12561885fSEric Fiselier //===----------------------------------------------------------------------===// 22561885fSEric Fiselier // 357b08b09SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 457b08b09SChandler Carruth // See https://llvm.org/LICENSE.txt for license information. 557b08b09SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 62561885fSEric Fiselier // 72561885fSEric Fiselier //===----------------------------------------------------------------------===// 82561885fSEric Fiselier 92561885fSEric Fiselier // <memory> 10*31cbe0f2SLouis Dionne // UNSUPPORTED: c++03 112561885fSEric Fiselier 122561885fSEric Fiselier // unique_ptr 132561885fSEric Fiselier 142561885fSEric Fiselier // test reset 152561885fSEric Fiselier 162561885fSEric Fiselier #include <memory> 172561885fSEric Fiselier #include <cassert> 182561885fSEric Fiselier 192561885fSEric Fiselier #include "unique_ptr_test_helper.h" 202561885fSEric Fiselier main(int,char **)212df59c50SJF Bastienint main(int, char**) { 222561885fSEric Fiselier { 232561885fSEric Fiselier std::unique_ptr<A[]> p; 242561885fSEric Fiselier p.reset(static_cast<B*>(nullptr)); // expected-error {{no matching member function for call to 'reset'}} 252561885fSEric Fiselier } 262561885fSEric Fiselier { 272561885fSEric Fiselier std::unique_ptr<int[]> p; 282561885fSEric Fiselier p.reset(static_cast<const int*>(nullptr)); // expected-error {{no matching member function for call to 'reset'}} 292561885fSEric Fiselier } 302df59c50SJF Bastien 312df59c50SJF Bastien return 0; 322561885fSEric Fiselier } 33