# libc++ Upcoming Meeting Status

This is a temporary page; please check the c++2a status here

This page shows the status of the papers and issues that are expected to be adopted in the next WG21 Meeting.

The groups that have contributed papers:

- LWG - Library working group
- CWG - Core Language Working group
- SG1 - Study group #1 (Concurrency working group)

### Paper Status

Paper # | Group | Paper Name | Meeting | Status
--- | --- | --- | --- | ---
P0487R0 | LWG | Fixing operator>> (basic_istream&, CharT*) (LWG 2499) | San Diego |
P0602R3 | LWG | variant and optional should propagate copy/move triviality | San Diego |
P0655R0 | LWG | visit<R>: Explicit Return Type for visit | San Diego |
P0972R0 | LWG | <chrono> zero(), min(), and max() should be noexcept | San Diego | See D53828
P1004R0 | LWG | Making std::vector constexpr | San Diego |
P1006R0 | LWG | Constexpr in std::pointer_traits | San Diego | See D53867
P1032R0 | LWG | Misc constexpr bits | San Diego |
D1148 | LWG | Cleaning up Clause 20 | San Diego |
D1163 | LWG | Explicitly Implicifying explicit Constructors | San Diego |

### Library Working group Issues Status

Issue # | Issue Name | Meeting | Status
--- | --- | --- | ---
2183 | Muddled allocator requirements for `match_results` constructors | San Diego | Complete
2184 | Muddled allocator requirements for `match_results` assignments | San Diego |
2412 | `promise::set_value()` and `promise::get_future()` should not race | San Diego |
2682 | `filesystem::copy()` won't create a symlink to a directory | San Diego |
2697 | [concurr.ts] Behavior of `future/shared_future` unwrapping constructor when given an invalid `future` | San Diego |
2936 | Path comparison is defined in terms of the generic format | San Diego |
2943 | Problematic specification of the wide version of `basic_filebuf::open` | San Diego |
2960 | [fund.ts.v3] `nonesuch` is insufficiently useless | San Diego |
2995 | `basic_stringbuf` default constructor forbids it from using SSO capacity | San Diego | We know how to do this
2996 | Missing rvalue overloads for `shared_ptr` operations | San Diego |
3008 | `make_shared` (sub)object destruction semantics are not specified | San Diego |
3025 | Map-like container deduction guides should use `pair<Key, T>`, not `pair<const Key, T>` | San Diego |
3031 | Algorithms and predicates with non-const reference arguments | San Diego |
3037 | `polymorphic_allocator` and incomplete types | San Diego |
3038 | `polymorphic_allocator::allocate` should not allow integer overflow to create vulnerabilities | San Diego |
3054 | `uninitialized_copy` appears to not be able to meet its exception-safety guarantee | San Diego |
3065 | LWG 2989 missed that all `path`'s other operators should be hidden friends as well | San Diego |
3096 | `path::lexically_relative` is confused by trailing slashes | San Diego |
3116 | `OUTERMOST_ALLOC_TRAITS` needs `remove_reference_t` | San Diego |
3122 | `__cpp_lib_chrono_udls` was accidentally dropped | San Diego |
3127 | `basic_osyncstream::rdbuf` needs a `const_cast` | San Diego |
3128 | `strstream::rdbuf` needs a `const_cast` | San Diego |
3129 | `regex_token_iterator` constructor uses wrong pointer arithmetic | San Diego |
3130 | §[input.output] needs many `addressof` | San Diego |
3131 | `addressof` all the things | San Diego |
3132 | Library needs to ban macros named `expects` or `ensures` | San Diego |
3134 | [fund.ts.v3] LFTSv3 contains extraneous [meta] variable templates that should have been deleted by P09961 | San Diego |
3137 | Header for `__cpp_lib_to_chars` | San Diego |
3145 | `file_clock` breaks ABI for C++17 implementations | San Diego |
3147 | Definitions of "likely" and "unlikely" are likely to cause problems | San Diego |
3148 | `<concepts>` should be freestanding | San Diego |
3153 | `Common` and `common_type` have too little in common | San Diego |
3154 | `Common` and `CommonReference` have a common defect | San Diego |

### Issues to "Review"

Issue # | Issue Name | Meeting | Status
--- | --- | --- | ---

### Comments about the issues

- 2183 - We're missing tests for match_results (copy ctor, move ctor). I committed them in r344988.
- 2184 - We're missing tests for match_results (copy assign, move assing). I wrote them. Unfortunately, the move-assign test fails.
- 2412 -
- 2682 - Eric?
- 2697 -
- 2936 -
- 2943 - Eric? I suspect that this is no change for us.
- 2960 -
- 2995 - We used to do this. Reverting r320604 and r321124 will get us back there.
- 2996 -
- 3008 -
- 3025 -
- 3031 - Marshall says: I don't think we have to do anything for this issue. Maybe some tests; maybe a static_assert.
- 3037 - Marshall says: We don't have std::polymorphic_allocator yet.
- 3038 - Marshall says: We don't have std::polymorphic_allocator yet.
- 3054 - Marshall says: We already do this; may need to update some tests.
- 3065 -
- 3096 - Eric?
- 3116 -
- 3122 - Marshall says I have updated the comments in <version> and in the tests.
- 3127 - Marshall says: We don't have basic_osyncstream yet.
- 3128 -
- 3129 - Marshall says: This is an easy change; I think this is more wording cleanup than anything. I will prepare a patch
- 3130 -
- 3131 - Only changes 11 & 12 affect libc++.
- 3132 - Marshall says: I don't think we have to do anything for this issue
- 3134 - Marshall says: I don't think we have to do anything for this issue
- 3137 - Marshall says I have updated the comments in <version> and in the tests.
- 3145 - Eric?
- 3147 - Marshall - I don't think we have to do anything for this issue
- 3148 -
- 3153 -
- 3154 -

Last Updated: 29-Oct-2018