1//===----------------------------------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// UNSUPPORTED: no-threads
10
11// <future>
12
13// class promise<R>
14
15// promise& operator=(const promise& rhs) = delete;
16
17#include <future>
18
19void f() {
20 {
21 std::promise<int> p0, p;
22 p = p0; // expected-error {{overload resolution selected deleted operator '='}}
23 }
24 {
25 std::promise<int&> p0, p;
26 p = p0; // expected-error {{overload resolution selected deleted operator '='}}
27 }
28 {
29 std::promise<void> p0, p;
30 p = p0; // expected-error {{overload resolution selected deleted operator '='}}
31 }
32}
33

source code of libcxx/test/std/thread/futures/futures.promise/copy_assign.verify.cpp