diff --git a/include/future b/include/future
index e388767..a7c28a4 100644
--- a/include/future
+++ b/include/future
@@ -2335,6 +2335,7 @@
 { return (int(__policy) & int(__value)) != 0; }
 
 template <class _Fp, class... _Args>
+_LIBCPP_NODISCARD_AFTER_CXX17
 future<typename __invoke_of<typename decay<_Fp>::type, typename decay<_Args>::type...>::type>
 async(launch __policy, _Fp&& __f, _Args&&... __args)
 {
@@ -2360,7 +2361,7 @@
 }
 
 template <class _Fp, class... _Args>
-inline _LIBCPP_INLINE_VISIBILITY
+_LIBCPP_NODISCARD_AFTER_CXX17 inline _LIBCPP_INLINE_VISIBILITY
 future<typename __invoke_of<typename decay<_Fp>::type, typename decay<_Args>::type...>::type>
 async(_Fp&& __f, _Args&&... __args)
 {
diff --git a/include/new b/include/new
index 6541e02..04355e6 100644
--- a/include/new
+++ b/include/new
@@ -271,7 +271,7 @@
 _LIBCPP_NODISCARD_AFTER_CXX17 inline _LIBCPP_INLINE_VISIBILITY
 constexpr _Tp* launder(_Tp* __p) noexcept
 {
-    return __launder(__p);
+    return _VSTD::__launder(__p);
 }
 #endif
 
diff --git a/test/std/thread/futures/futures.async/async.fail.cpp b/test/std/thread/futures/futures.async/async.fail.cpp
new file mode 100644
index 0000000..1a719c0
--- /dev/null
+++ b/test/std/thread/futures/futures.async/async.fail.cpp
@@ -0,0 +1,37 @@
+//===----------------------------------------------------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
+
+// <future>
+
+// template <class F, class... Args>
+//     future<typename result_of<F(Args...)>::type>
+//     async(F&& f, Args&&... args);
+
+// template <class F, class... Args>
+//     future<typename result_of<F(Args...)>::type>
+//     async(launch policy, F&& f, Args&&... args);
+
+
+#include <future>
+#include <atomic>
+#include <memory>
+#include <cassert>
+
+#include "test_macros.h"
+
+int foo (int x) { return x; }
+
+int main ()
+{
+	std::async(                    foo, 3); // expected-error {{ignoring return value of function declared with 'nodiscard' attribute}}
+	std::async(std::launch::async, foo, 3); // expected-error {{ignoring return value of function declared with 'nodiscard' attribute}}
+}
\ No newline at end of file
