blob: d972e29b51465a41edc3e6b59952d6a48829a194 [file] [log] [blame]
// { dg-do compile { target c++23 } }
// { dg-require-effective-target hosted }
#include <memory>
#include <testsuite_hooks.h>
constexpr bool
test_creation_single()
{
std::unique_ptr<int> p = std::make_unique<int>(1);
VERIFY( *p == 1 );
p = std::make_unique_for_overwrite<int>();
*p = 2;
VERIFY( *p == 2 );
return true;
}
static_assert( test_creation_single() );
constexpr bool
test_creation_array()
{
std::unique_ptr<int[]> a = std::make_unique<int[]>(2);
VERIFY( a[0] == 0 );
VERIFY( a[1] == 0 );
a = std::make_unique_for_overwrite<int[]>(2);
a[0] = 1;
a[1] = 2;
VERIFY( a[0] == 1 );
VERIFY( a[1] == 2 );
return true;
}
static_assert( test_creation_array() );