Implement LWG2783: stack::emplace() and queue::emplace() should return decltype(auto)
llvm-svn: 323385
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: e34f5ffe4b1317ed05c856b9d259c9dd6860f463
diff --git a/include/queue b/include/queue
index 670fbb7..80546fd 100644
--- a/include/queue
+++ b/include/queue
@@ -290,7 +290,7 @@
template <class... _Args>
_LIBCPP_INLINE_VISIBILITY
#if _LIBCPP_STD_VER > 14
- reference emplace(_Args&&... __args)
+ decltype(auto) emplace(_Args&&... __args)
{ return c.emplace_back(_VSTD::forward<_Args>(__args)...);}
#else
void emplace(_Args&&... __args)