File tree Expand file tree Collapse file tree 4 files changed +5
-53
lines changed
libcxx/thread/futures/futures.task
std/thread/futures/futures.task/futures.task.members Expand file tree Collapse file tree 4 files changed +5
-53
lines changed Original file line number Diff line number Diff line change @@ -100,7 +100,7 @@ Deprecations and Removals
100
100
- libc++ no longer adds ``constexpr `` to ``std::hash<std::vector<bool, A>>::operator() ``, as the ``constexpr `` addition
101
101
since C++20 was an unintended extension.
102
102
103
- - TODO: The non-conforming extension ``packaged_task::result_type `` has been removed in LLVM 21.
103
+ - The non-conforming extension ``packaged_task::result_type `` has been removed in LLVM 21.
104
104
105
105
Potentially breaking changes
106
106
----------------------------
Original file line number Diff line number Diff line change @@ -322,8 +322,6 @@ template <class R, class... ArgTypes>
322
322
class packaged_task<R(ArgTypes...)>
323
323
{
324
324
public:
325
- typedef R result_type; // extension
326
-
327
325
// construction and destruction
328
326
packaged_task() noexcept;
329
327
template <class F>
@@ -1605,9 +1603,6 @@ inline _Rp __packaged_task_function<_Rp(_ArgTypes...)>::operator()(_ArgTypes...
1605
1603
1606
1604
template <class _Rp , class ... _ArgTypes>
1607
1605
class packaged_task <_Rp(_ArgTypes...)> {
1608
- public:
1609
- using result_type _LIBCPP_DEPRECATED = _Rp; // extension
1610
-
1611
1606
private:
1612
1607
__packaged_task_function<_Rp(_ArgTypes...)> __f_;
1613
1608
promise<_Rp> __p_;
@@ -1699,9 +1694,6 @@ void packaged_task<_Rp(_ArgTypes...)>::reset() {
1699
1694
1700
1695
template <class ... _ArgTypes>
1701
1696
class packaged_task <void (_ArgTypes...)> {
1702
- public:
1703
- using result_type _LIBCPP_DEPRECATED = void ; // extension
1704
-
1705
1697
private:
1706
1698
__packaged_task_function<void (_ArgTypes...)> __f_;
1707
1699
promise<void > __p_;
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 11
11
12
12
// <future>
13
13
14
- // template<class R, class... ArgTypes>
15
- // class packaged_task<R(ArgTypes...)>
16
- // {
17
- // public:
18
- // typedef R result_type; // extension
19
-
20
- // This libc++ extension is deprecated. See https://github.com/llvm/llvm-project/issues/112856.
14
+ // Verify that the non-conforming extension packaged_task::result_type is removed.
15
+ // See https://github.com/llvm/llvm-project/issues/112856.
21
16
22
17
#include < future>
23
- #include < type_traits>
24
18
25
19
struct A {};
26
20
27
- using RA = std::packaged_task<A(int , char )>::result_type; // expected-warning {{'result_type' is deprecated }}
28
- using RV = std::packaged_task<void (int , char )>::result_type; // expected-warning {{'result_type' is deprecated }}
21
+ using RA = std::packaged_task<A(int , char )>::result_type; // expected-error {{no type named 'result_type'}}
22
+ using RV = std::packaged_task<void (int , char )>::result_type; // expected-error {{no type named 'result_type'}}
You can’t perform that action at this time.
0 commit comments