31 lines · cpp
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-exception6//7//===----------------------------------------------------------------------===//8//9// UNSUPPORTED: no-threads10// UNSUPPORTED: c++03, c++11, c++14, c++1711 12// <future>13 14// template <class F, class... Args>15// future<typename result_of<F(Args...)>::type>16// async(F&& f, Args&&... args);17 18// template <class F, class... Args>19// future<typename result_of<F(Args...)>::type>20// async(launch policy, F&& f, Args&&... args);21 22 23#include <future>24 25int foo (int x) { return x; }26 27void f() {28 std::async( foo, 3); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}29 std::async(std::launch::async, foo, 3); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}30}31