libc++ C++20 Status — libc++ documentation (original) (raw)

LWG2070

allocate_shared should use allocator_traits<A>::construct

2017-07 (Toronto)

Nothing To Do

#103733

Resolved by P0674R1

LWG2444

Inconsistent complexity for std::sort_heap

2017-07 (Toronto)

Nothing To Do

#103734

LWG2593

Moved-from state of Allocators

2017-07 (Toronto)

Nothing To Do

#100220

LWG2597

std::log misspecified for complex numbers

2017-07 (Toronto)

#100221

LWG2783

stack::emplace() and queue::emplace() should return decltype(auto)

2017-07 (Toronto)

Complete

#103735

LWG2932

Constraints on parallel algorithm implementations are underspecified

2017-07 (Toronto)

#100222

LWG2937

Is equivalent("existing_thing", "not_existing_thing") an error

2017-07 (Toronto)

Complete

#103736

LWG2940

result_of specification also needs a little cleanup

2017-07 (Toronto)

Nothing To Do

#103737

LWG2942

LWG 2873’s resolution missed weak_ptr::owner_before

2017-07 (Toronto)

Complete

#103738

LWG2954

Specialization of the convenience variable templates should be prohibited

2017-07 (Toronto)

Complete

#103739

LWG2961

Bad postcondition for set_default_resource

2017-07 (Toronto)

Complete

16

#103740

LWG2966

Incomplete resolution of US 74

2017-07 (Toronto)

Nothing To Do

#103741

LWG2974

Diagnose out of bounds tuple_element/variant_alternative

2017-07 (Toronto)

Complete

#103742

LWG2779

[networking.ts] Relax requirements on buffer sequence iterators

2017-11 (Albuquerque)

Nothing To Do

#100223

LWG2870

Default value of parameter theta of polar should be dependent

2017-11 (Albuquerque)

Complete

#103743

LWG2935

What should create_directories do when p already exists but is not a directory?

2017-11 (Albuquerque)

Nothing To Do

#103744

LWG2941

[thread.req.timing] wording should apply to both member and namespace-level functions

2017-11 (Albuquerque)

Nothing To Do

#103745

LWG2944

LWG 2905 accidentally removed requirement that construction of the deleter doesn’t throw an exception

2017-11 (Albuquerque)

Nothing To Do

#103746

LWG2945

Order of template parameters in optional comparisons

2017-11 (Albuquerque)

Complete

#103747

LWG2948

unique_ptr does not define operator<< for stream output

2017-11 (Albuquerque)

Complete

#103748

LWG2950

std::byte operations are misspecified

2017-11 (Albuquerque)

Complete

#103749

LWG2952

iterator_traits should work for pointers to cv T

2017-11 (Albuquerque)

Complete

#103750

LWG2953

LWG 2853 should apply to deque::erase too

2017-11 (Albuquerque)

Complete

#103751

LWG2958

Moves improperly defined as deleted

2017-11 (Albuquerque)

Complete

#103752

LWG2964

Apparently redundant requirement for dynamic_pointer_cast

2017-11 (Albuquerque)

#100224

LWG2965

Non-existing path::native_string() in filesystem_error::what() specification

2017-11 (Albuquerque)

Nothing To Do

#103753

LWG2972

What is is_trivially_destructible_v<int>?

2017-11 (Albuquerque)

Complete

#103754

LWG2976

Dangling uses_allocator specialization for packaged_task

2017-11 (Albuquerque)

Complete

20

#103755

Originally implemented in LLVM 6 but reverted later. Old documentation incorrectly said it was implemented.

LWG2977

unordered_meow::merge() has incorrect Throws: clause

2017-11 (Albuquerque)

Nothing To Do

#103756

LWG2978

Hash support for pmr::string and friends

2017-11 (Albuquerque)

Complete

16

#103757

LWG2979

aligned_union should require complete object types

2017-11 (Albuquerque)

Complete

#103758

LWG2980

Cannot compare_exchange empty pointers

2017-11 (Albuquerque)

#100225

LWG2981

Remove redundant deduction guides from standard library

2017-11 (Albuquerque)

Nothing To Do

#103759

LWG2982

Making size_type consistent in associative container deduction guides

2017-11 (Albuquerque)

#100226

LWG2988

Clause 32 cleanup missed one typename

2017-11 (Albuquerque)

Complete

13

#103760

LWG2993

reference_wrapper conversion from T&&

2017-11 (Albuquerque)

Complete

13

#103761

LWG2998

Requirements on function objects passed to {forward_,}list-specific algorithms

2017-11 (Albuquerque)

Nothing To Do

#103762

LWG3001

weak_ptr::element_type needs remove_extent_t

2017-11 (Albuquerque)

Complete

14

#103763

LWG3024

variant’s copies must be deleted instead of disabled via SFINAE

2017-11 (Albuquerque)

Complete

#103764

LWG2164

What are the semantics of vector.emplace(vector.begin(), vector.back())?

2018-03 (Jacksonville)

Complete

#103765

LWG2243

istream::putback problem

2018-03 (Jacksonville)

Complete

#103766

LWG2816

resize_file has impossible postcondition

2018-03 (Jacksonville)

Nothing To Do

#103770

LWG2843

Unclear behavior of std::pmr::memory_resource::do_allocate()

2018-03 (Jacksonville)

Complete

#103771

LWG2849

Why does !is_regular_file(from) cause copy_file to report a “file already exists” error?

2018-03 (Jacksonville)

Nothing To Do

#103772

LWG2851

std::filesystem enum classes are now underspecified

2018-03 (Jacksonville)

Nothing To Do

#103774

LWG2946

LWG 2758’s resolution missed further corrections

2018-03 (Jacksonville)

Complete

#103775

LWG2969

polymorphic_allocator::construct() shouldn’t pass resource()

2018-03 (Jacksonville)

Complete

#103776

LWG2975

Missing case for pair construction in scoped and polymorphic allocators

2018-03 (Jacksonville)

#100227

LWG2989

path‘s stream insertion operator lets you insert everything under the sun

2018-03 (Jacksonville)

Complete

#103777

LWG3000

monotonic_memory_resource::do_is_equal uses dynamic_cast unnecessarily

2018-03 (Jacksonville)

Complete

16

#103778

LWG3002

[networking.ts] basic_socket_acceptor::is_open() isn’t noexcept

2018-03 (Jacksonville)

Nothing To Do

#100228

LWG3004

§[string.capacity] and §[vector.capacity] should specify time complexity for capacity()

2018-03 (Jacksonville)

Nothing To Do

#103779

LWG3005

Destruction order of arrays by make_shared/allocate_shared only recommended?

2018-03 (Jacksonville)

#100229

LWG3007

allocate_shared should rebind allocator to _cv_-unqualified value_type for construction

2018-03 (Jacksonville)

#100230

LWG3009

Including <string_view> doesn’t provide std::size/empty/data

2018-03 (Jacksonville)

Complete

#103780

LWG3010

[networking.ts] uses_executor says “if a type T::executor_type exists”

2018-03 (Jacksonville)

Nothing To Do

#100231

LWG3013

(recursive_)directory_iterator construction and traversal should not be noexcept

2018-03 (Jacksonville)

Complete

#103781

LWG3014

More noexcept issues with filesystem operations

2018-03 (Jacksonville)

Complete

#103782

LWG3015

copy_options::*unspecified* underspecified

2018-03 (Jacksonville)

Nothing To Do

#103783

LWG3017

list splice functions should use addressof

2018-03 (Jacksonville)

Complete

#103784

LWG3020

[networking.ts] Remove spurious nested value_type buffer sequence requirement

2018-03 (Jacksonville)

Nothing To Do

#100232

LWG3026

filesystem::weakly_canonical still defined in terms of canonical(p, base)

2018-03 (Jacksonville)

Complete

#103785

LWG3030

Who shall meet the requirements of try_lock?

2018-03 (Jacksonville)

Nothing To Do

#103786

LWG3034

P0767R1 breaks previously-standard-layout types

2018-03 (Jacksonville)

Complete

#103787

LWG3035

std::allocator‘s constructors should be constexpr

2018-03 (Jacksonville)

Complete

#103788

LWG3039

Unnecessary decay in thread and packaged_task

2018-03 (Jacksonville)

Complete

#103789

LWG3041

Unnecessary decay in reference_wrapper

2018-03 (Jacksonville)

Complete

#103790

LWG3042

is_literal_type_v should be inline

2018-03 (Jacksonville)

Complete

#103791

LWG3043

Bogus postcondition for filesystem_error constructor

2018-03 (Jacksonville)

Complete

#103792

LWG3045

atomic<floating-point> doesn’t have value_type or difference_type

2018-03 (Jacksonville)

Complete

18

#103793

LWG3048

transform_reduce(exec, first1, last1, first2, init) discards execution policy

2018-03 (Jacksonville)

Complete

17

#103794

LWG3051

Floating point classifications were inadvertently changed in P0175

2018-03 (Jacksonville)

Nothing To Do

#103795

LWG3075

basic_string needs deduction guides from basic_string_view

2018-03 (Jacksonville)

Complete

#103796

LWG2139

What is a user-defined type?

2018-06 (Rapperswil)

#100233

LWG2970

Return type of std::visit misspecified

2018-06 (Rapperswil)

Complete

11

#103797

LWG3058

Parallel adjacent_difference shouldn’t require creating temporaries

2018-06 (Rapperswil)

#100234

LWG3062

Unnecessary decay_t in is_execution_policy_v should be remove_cvref_t

2018-06 (Rapperswil)

Complete

17

#100235

LWG3067

recursive_directory_iterator::pop must invalidate

2018-06 (Rapperswil)

Nothing To Do

#103798

LWG3071

[networking.ts] read_until still refers to “input sequence”

2018-06 (Rapperswil)

Nothing To Do

#103799

LWG3074

Non-member functions for valarray should only deduce from the valarray

2018-06 (Rapperswil)

#100236

LWG3076

basic_string CTAD ambiguity

2018-06 (Rapperswil)

Complete

#103800

LWG3079

LWG 2935 forgot to fix the existing_p overloads of create_directory

2018-06 (Rapperswil)

Nothing To Do

#103801

LWG3080

Floating point from_chars pattern specification breaks round-tripping

2018-06 (Rapperswil)

#100237

LWG3083

What should ios::iword(-1) do?

2018-06 (Rapperswil)

Nothing To Do

#103802

LWG3094

[time.duration.io]p4 makes surprising claims about encoding

2018-06 (Rapperswil)

#100238

LWG3100

Unnecessary and confusing “empty span” wording

2018-06 (Rapperswil)

Nothing To Do

#103803

LWG3102

Clarify span iterator and const_iterator behavior

2018-06 (Rapperswil)

Complete

#103804

LWG3104

Fixing duration division

2018-06 (Rapperswil)

Complete

#103805

LWG2183

Muddled allocator requirements for match_results constructors

2018-11 (San Diego)

Complete

#103806

LWG2184

Muddled allocator requirements for match_results assignments

2018-11 (San Diego)

Complete

#103807

LWG2412

promise::set_value() and promise::get_future() should not race

2018-11 (San Diego)

#100239

LWG2499

operator>>(basic_istream&, CharT*) makes it hard to avoid buffer overflows

2018-11 (San Diego)

Nothing To Do

#103808

Resolved by P0487R1

LWG2682

filesystem::copy() won’t create a symlink to a directory

2018-11 (San Diego)

Nothing To Do

#103504

LWG2697

[concurr.ts] Behavior of future/shared_future unwrapping constructor when given an invalid future

2018-11 (San Diego)

#100240

LWG2797

Trait precondition violations

2018-11 (San Diego)

Nothing To Do

#103809

Resolved by P1285R0

LWG2936

Path comparison is defined in terms of the generic format

2018-11 (San Diego)

Complete

#103810

LWG2943

Problematic specification of the wide version of basic_filebuf::open

2018-11 (San Diego)

Nothing To Do

#103811

LWG2960

[fund.ts.v3] nonesuch is insufficiently useless

2018-11 (San Diego)

Complete

#103812

LWG2995

basic_stringbuf default constructor forbids it from using SSO capacity

2018-11 (San Diego)

Complete

20

#100242

LWG2996

Missing rvalue overloads for shared_ptr operations

2018-11 (San Diego)

Complete

17

#103813

LWG3008

make_shared (sub)object destruction semantics are not specified

2018-11 (San Diego)

Complete

16

#103814

LWG3022

is_convertible<derived*, base*> may lead to ODR

2018-11 (San Diego)

Nothing To Do

#103815

Resolved by P1285R0

LWG3025

Map-like container deduction guides should use pair<Key, T>, not pair<const Key, T>

2018-11 (San Diego)

Complete

#103817

LWG3031

Algorithms and predicates with non-const reference arguments

2018-11 (San Diego)

#100243

LWG3037

polymorphic_allocator and incomplete types

2018-11 (San Diego)

Complete

16

#103818

LWG3038

polymorphic_allocator::allocate should not allow integer overflow to create vulnerabilities

2018-11 (San Diego)

Complete

14

#103819

LWG3054

uninitialized_copy appears to not be able to meet its exception-safety guarantee

2018-11 (San Diego)

Nothing To Do

#103820

LWG3065

LWG 2989 missed that all path‘s other operators should be hidden friends as well

2018-11 (San Diego)

Complete

#103821

LWG3096

path::lexically_relative is confused by trailing slashes

2018-11 (San Diego)

Complete

#103822

LWG3116

OUTERMOST_ALLOC_TRAITS needs remove_reference_t

2018-11 (San Diego)

#100244

LWG3122

__cpp_lib_chrono_udls was accidentally dropped

2018-11 (San Diego)

Complete

#103823

LWG3127

basic_osyncstream::rdbuf needs a const_cast

2018-11 (San Diego)

Complete

18

#103824

LWG3128

strstream::rdbuf needs a const_cast

2018-11 (San Diego)

Nothing To Do

#103825

LWG3129

regex_token_iterator constructor uses wrong pointer arithmetic

2018-11 (San Diego)

#100245

LWG3130

§[input.output] needs many addressof

2018-11 (San Diego)

Complete

20

#100246

LWG3131

addressof all the things

2018-11 (San Diego)

#100248

LWG3132

Library needs to ban macros named expects or ensures

2018-11 (San Diego)

Nothing To Do

#103826

LWG3134

[fund.ts.v3] LFTSv3 contains extraneous [meta] variable templates that should have been deleted by P09961

2018-11 (San Diego)

Nothing To Do

#103827

Resolved by P1210R0

LWG3137

Header for __cpp_lib_to_chars

2018-11 (San Diego)

Complete

#103828

LWG3140

COMMON_REF is unimplementable as specified

2018-11 (San Diego)

Nothing To Do

#103829

LWG3145

file_clock breaks ABI for C++17 implementations

2018-11 (San Diego)

Complete

#103830

LWG3147

Definitions of “likely” and “unlikely” are likely to cause problems

2018-11 (San Diego)

Nothing To Do

#100249

LWG3148

<concepts> should be freestanding

2018-11 (San Diego)

#100250

LWG3153

Common and common_type have too little in common

2018-11 (San Diego)

Complete

13

#103831

LWG3154

Common and CommonReference have a common defect

2018-11 (San Diego)

Nothing To Do

#103832

LWG3012

atomic<T> is unimplementable for non-is_trivially_copy_constructible T

2019-02 (Kona)

#100252

LWG3040

basic_string_view::starts_with Effects are incorrect

2019-02 (Kona)

Complete

#103834

LWG3077

(push|emplace)_back should invalidate the end iterator

2019-02 (Kona)

Nothing To Do

#103835

LWG3087

One final &x in §[list.ops]

2019-02 (Kona)

Nothing To Do

#103836

LWG3101

span‘s Container constructors need another constraint

2019-02 (Kona)

Complete

#103837

LWG3112

system_error and filesystem_error constructors taking a string may not be able to meet their postconditions

2019-02 (Kona)

Nothing To Do

#100253

LWG3119

Program-definedness of closure types

2019-02 (Kona)

Nothing To Do

#103838

LWG3133

Modernizing numeric type requirements

2019-02 (Kona)

#100254

LWG3144

span does not have a const_pointer typedef

2019-02 (Kona)

Complete

#103839

LWG3173

Enable CTAD for ref-view

2019-02 (Kona)

Complete

15

#103840

LWG3179

subrange should always model Range

2019-02 (Kona)

Nothing To Do

#103842

LWG3180

Inconsistently named return type for ranges::minmax_element

2019-02 (Kona)

Complete

15

#103844

LWG3182

Specification of Same could be clearer

2019-02 (Kona)

Complete

15

#103845

LWG2899

is_(nothrow_)move_constructible and tuple, optional and unique_ptr

2019-07 (Cologne)

#100255

LWG3055

path::operator+=(*single-character*) misspecified

2019-07 (Cologne)

Complete

7

#103846

LWG3158

tuple(allocator_arg_t, const Alloc&) should be conditionally explicit

2019-07 (Cologne)

Complete

10

#103847

LWG3169

ranges permutation generators discard useful information

2019-07 (Cologne)

Complete

15

#103848

LWG3183

Normative permission to specialize Ranges variable templates

2019-07 (Cologne)

Nothing To Do

#103849

LWG3184

Inconsistencies in bind_front wording

2019-07 (Cologne)

Complete

13

#103850

LWG3185

Uses-allocator construction functions missing constexpr and noexcept

2019-07 (Cologne)

Complete

16

#103851

LWG3186

ranges removal, partition, and partial_sort_copy algorithms discard useful information

2019-07 (Cologne)

Complete

15

#103852

LWG3187

P0591R4 reverted DR 2586 fixes to scoped_allocator_adaptor::construct()

2019-07 (Cologne)

#100256

LWG3191

std::ranges::shuffle synopsis does not match algorithm definition

2019-07 (Cologne)

Complete

15

#103853

LWG3196

std::optional<T> is ill-formed is T is an array

2019-07 (Cologne)

Complete

#103854

LWG3198

Bad constraint on std::span::span()

2019-07 (Cologne)

Complete

#103856

LWG3199

istream >> bitset<0> fails

2019-07 (Cologne)

Complete

10

#100257

LWG3202

P0318R1 was supposed to be revised

2019-07 (Cologne)

Complete

#103857

LWG3206

year_month_day conversion to sys_days uses not-existing member function

2019-07 (Cologne)

Complete

#103858

LWG3208

Boolean‘s expression requirements are ordered inconsistently

2019-07 (Cologne)

Nothing To Do

#103860

LWG3209

Expression in year::ok() returns clause is ill-formed

2019-07 (Cologne)

Complete

#103861

LWG3231

year_month_day_last::day specification does not cover !ok() values

2019-11 (Belfast)

Nothing To Do

#103862

LWG3225

zoned_time converting constructor shall not be noexcept

2019-11 (Belfast)

Complete

19

#103863

LWG3190

std::allocator::allocate sometimes returns too little storage

2019-11 (Belfast)

Complete

14

#103864

LWG3218

Modifier for %d parse flag does not match POSIX and format specification

2019-11 (Belfast)

#100258

LWG3224

zoned_time constructor from TimeZonePtr does not specify initialization of tp_

2019-11 (Belfast)

Complete

19

#103865

LWG3230

Format specifier %y/%Y is missing locale alternative versions

2019-11 (Belfast)

Complete

16

#103868

LWG3232

Inconsistency in zoned_time deduction guides

2019-11 (Belfast)

Complete

19

#103869

LWG3222

P0574R1 introduced preconditions on non-existent parameters

2019-11 (Belfast)

#100259

LWG3221

Result of year_month arithmetic with months is ambiguous

2019-11 (Belfast)

Complete

8

#103870

LWG3235

parse manipulator without abbreviation is not callable

2019-11 (Belfast)

#100262

LWG3246

LWG3246: What are the constraints on the template parameter of basic_format_arg?

2019-11 (Belfast)

Nothing To Do

#100263

LWG3253

basic_syncbuf::basic_syncbuf() should not be explicit

2019-11 (Belfast)

Complete

20

#100264

LWG3245

Unnecessary restriction on '%p' parse specifier

2019-11 (Belfast)

#100265

LWG3244

Constraints for Source in §[fs.path.req] insufficiently constrainty

2019-11 (Belfast)

#100266

LWG3241

chrono-spec grammar ambiguity in §[time.format]

2019-11 (Belfast)

Complete

16

#103871

LWG3257

Missing feature testing macro update from P0858

2019-11 (Belfast)

Complete

12

#103873

LWG3256

Feature testing macro for constexpr algorithms

2019-11 (Belfast)

Complete

13

#103874

LWG3273

Specify weekday_indexed to range of [0, 7]

2019-11 (Belfast)

Complete

16

#103875

LWG3070

path::lexically_relative causes surprising results if a filename can also be a root-name

2019-11 (Belfast)

#100267

LWG3266

to_chars(bool) should be deleted

2019-11 (Belfast)

Complete

14

#103876

LWG3272

%I%p should parse/format duration since midnight

2019-11 (Belfast)

#100268

LWG3259

The definition of constexpr iterators should be adjusted

2019-11 (Belfast)

Nothing To Do

#103877

LWG3103

Errors in taking subview of span should be ill-formed where possible

2019-11 (Belfast)

Complete

11

#103878

LWG3274

Missing feature test macro for <span>

2019-11 (Belfast)

Complete

11

#103880

LWG3276

Class split_view::outer_iterator::value_type should inherit from view_interface

2019-11 (Belfast)

Complete

15

#103881

LWG3277

Pre-increment on prvalues is not a requirement of weakly_incrementable

2019-11 (Belfast)

Nothing To Do

#103882

LWG3149

DefaultConstructible should require default initialization

2019-11 (Belfast)

Complete

13

#103883

LWG1203

More useful rvalue stream insertion

2020-02 (Prague)

Complete

12

#103884

LWG2859

Definition of reachable in [ptr.launder] misses pointer arithmetic from pointer-interconvertible object

2020-02 (Prague)

#100269

LWG3018

shared_ptr of function type

2020-02 (Prague)

Nothing To Do

#103885

LWG3050

Conversion specification problem in chrono::duration constructor

2020-02 (Prague)

Complete

19

#103887

LWG3141

CopyConstructible doesn’t preserve source values

2020-02 (Prague)

Nothing To Do

#103889

LWG3150

UniformRandomBitGenerator should validate min and max

2020-02 (Prague)

Complete

13

#103890

LWG3175

The CommonReference requirement of concept SwappableWith is not satisfied in the example

2020-02 (Prague)

Complete

13

#103891

LWG3194

ConvertibleTo prose does not match code

2020-02 (Prague)

Complete

13

#103892

LWG3200

midpoint should not constrain T is complete

2020-02 (Prague)

Nothing To Do

#103893

LWG3201

lerp should be marked as noexcept

2020-02 (Prague)

Complete

#103894

LWG3226

zoned_time constructor from string_view should accept zoned_time<Duration2, TimeZonePtr2>

2020-02 (Prague)

Complete

19

#103896

LWG3233

Broken requirements for shared_ptr converting constructors

2020-02 (Prague)

Complete

19

#103897

LWG3237

LWG 3038 and 3190 have inconsistent PRs

2020-02 (Prague)

Complete

16

#103899

LWG3238

Insufficiently-defined behavior of std::function deduction guides

2020-02 (Prague)

Nothing To Do

#103901

LWG3242

std::format: missing rules for arg-id in width and precision

2020-02 (Prague)

Complete

14

#103902

LWG3243

std::format and negative zeroes

2020-02 (Prague)

Complete

14

#103904

LWG3247

ranges::iter_move should perform ADL-only lookup of iter_move

2020-02 (Prague)

Complete

15

#103906

LWG3248

std::format #b, #B, #o, #x, and #X presentation types misformat negative numbers

2020-02 (Prague)

Complete

14

#103907

LWG3250

std::format: # (alternate form) for NaN and inf

2020-02 (Prague)

Complete

14

#103908

LWG3251

Are std::format alignment specifiers applied to string arguments?

2020-02 (Prague)

Complete

14

#103909

LWG3252

Parse locale’s aware modifiers for commands are not consistent with POSIX spec

2020-02 (Prague)

#100271

LWG3254

Strike stop_token‘s operator!=

2020-02 (Prague)

Complete

17

#103910

LWG3255

span‘s array constructor is too strict

2020-02 (Prague)

Complete

#103911

LWG3260

year_month* arithmetic rejects durations convertible to years

2020-02 (Prague)

#100274

LWG3262

Formatting of negative durations is not specified

2020-02 (Prague)

Complete

16

#103912

LWG3264

sized_range and ranges::size redundantly use disable_sized_range

2020-02 (Prague)

Complete

15

#103913

LWG3269

Parse manipulators do not specify the result of the extraction from stream

2020-02 (Prague)

#100275

LWG3270

Parsing and formatting %j with durations

2020-02 (Prague)

Partial

#100418

LWG3280

View converting constructors can cause constraint recursion and are unneeded

2020-02 (Prague)

Complete

15

#103914

LWG3281

Conversion from *pair-like* types to subrange is a silent semantic promotion

2020-02 (Prague)

Complete

13

#103915

LWG3282

subrange converting constructor should disallow derived to base conversions

2020-02 (Prague)

Complete

15

#103916

LWG3284

random_access_iterator semantic constraints accidentally promote difference type using unary negate

2020-02 (Prague)

Nothing To Do

#103918

LWG3285

The type of a customization point object shall satisfy semiregular

2020-02 (Prague)

Nothing To Do

#103919

LWG3286

ranges::size is not required to be valid after a call to ranges::begin on an input range

2020-02 (Prague)

Complete

15

#103920

LWG3291

iota_view::iterator has the wrong iterator_category

2020-02 (Prague)

Complete

15

#103921

LWG3292

iota_view is under-constrained

2020-02 (Prague)

Complete

15

#103922

LWG3294

zoned_time deduction guides misinterprets string/char*

2020-02 (Prague)

Complete

19

#103924

LWG3296

Inconsistent default argument for basic_regex<>::assign

2020-02 (Prague)

Complete

#103925

LWG3299

Pointers don’t need customized iterator behavior

2020-02 (Prague)

Complete

15

#103926

LWG3300

Non-array ssize overload is underconstrained

2020-02 (Prague)

Nothing To Do

#103929

LWG3301

transform_view::iterator has incorrect iterator_category

2020-02 (Prague)

Complete

15

#103932

LWG3302

Range adaptor objects keys and values are unspecified

2020-02 (Prague)

Complete

16

#103933

LWG3303

Bad “constexpr“ marker for destroy/destroy_n

2020-02 (Prague)

#101693

LWG3304

Allocate functions of std::polymorphic_allocator should require [[nodiscard]]

2020-02 (Prague)

Complete

16

#103934

LWG3307

std::allocator<void>().allocate(n)

2020-02 (Prague)

Complete

20

#100422

LWG3310

Replace SIZE_MAX with numeric_limits<size_t>::max()

2020-02 (Prague)

Complete

16

#103936

LWG3313

join_view::iterator::operator-- is incorrectly constrained

2020-02 (Prague)

Complete

14

#103937

LWG3314

Is stream insertion behavior locale dependent when Period::type is micro?

2020-02 (Prague)

Complete

16

#103940

LWG3315

Correct Allocator Default Behavior

2020-02 (Prague)

Complete

#100426

LWG3316

Correctly define epoch for utc_clock / utc_timepoint

2020-02 (Prague)

#100428

LWG3317

Incorrect operator<< for floating-point durations

2020-02 (Prague)

Complete

16

#100429

LWG3318

Clarify whether clocks can represent time before their epoch

2020-02 (Prague)

#100430

LWG3319

Properly reference specification of IANA time zone database

2020-02 (Prague)

Nothing To Do

#103941

LWG3320

span::cbegin/cend methods produce different results than std::[ranges::]cbegin/cend

2020-02 (Prague)

Complete

#103942

LWG3321

uninitialized_construct_using_allocator should use construct_at

2020-02 (Prague)

Complete

16

#103943

LWG3323

*has-tuple-element* helper concept needs convertible_to

2020-02 (Prague)

Complete

16

#103944

LWG3324

Special-case std::strong/weak/partial_order for pointers

2020-02 (Prague)

Complete

14

#103945

LWG3325

Constrain return type of transformation function for transform_view

2020-02 (Prague)

Complete

15

#103947

LWG3326

enable_view has false positives

2020-02 (Prague)

Complete

15

#103948

LWG3327

Format alignment specifiers vs. text direction

2020-02 (Prague)

Nothing To Do

#103949

LWG3328

Clarify that std::string is not good for UTF-8

2020-02 (Prague)

Nothing To Do

#100431

LWG3329

totally_ordered_with both directly and indirectly requires common_reference_with

2020-02 (Prague)

Complete

13

#103950

LWG3330

Include <compare> from most library headers

2020-02 (Prague)

Complete

13

#103951

LWG3331

Define totally_ordered/_with in terms of partially-ordered-with

2020-02 (Prague)

Complete

13

#103952

LWG3332

Issue in §[time.format]

2020-02 (Prague)

Complete

16

#103953

LWG3334

basic_osyncstream move assignment and destruction calls basic_syncbuf::emit() twice

2020-02 (Prague)

Complete

18

#103954

LWG3335

Resolve C++20 NB comments US 273 and GB 274

2020-02 (Prague)

Complete

15

#103955

LWG3338

Rename default_constructible to default_initializable

2020-02 (Prague)

Complete

13

#103956

LWG3340

Formatting functions should throw on argument/format string mismatch in §[format.functions]

2020-02 (Prague)

Complete

14

#103957

LWG3346

pair and tuple copy and move constructor have backwards specification

2020-02 (Prague)

Nothing To Do

#103958

LWG3347

std::pair<T, U> now requires T and U to be less-than-comparable

2020-02 (Prague)

Complete

17

#103959

LWG3348

__cpp_lib_unwrap_ref in wrong header

2020-02 (Prague)

Complete

12

#103960

LWG3349

Missing __cpp_lib_constexpr_complex for P0415R1

2020-02 (Prague)

Complete

16

#103961

LWG3350

Simplify return type of lexicographical_compare_three_way

2020-02 (Prague)

Complete

17

#103962

LWG3351

ranges::enable_safe_range should not be constrained

2020-02 (Prague)

Complete

15

#103963

LWG3352

strong_equality isn’t a thing

2020-02 (Prague)

Complete

19

#103964

LWG3354

has_strong_structural_equality has a meaningless definition

2020-02 (Prague)

Nothing To Do

#103965

LWG3355

The memory algorithms should support move-only input iterators introduced by P1207

2020-02 (Prague)

Complete

15

#103966

LWG3356

__cpp_lib_nothrow_convertible should be __cpp_lib_is_nothrow_convertible

2020-02 (Prague)

Complete

12

#103967

LWG3358

§[span.cons] is mistaken that to_address can throw

2020-02 (Prague)

Complete

17

#103968

LWG3359

<chrono> leap second support should allow for negative leap seconds

2020-02 (Prague)

Complete

21

#100432

LWG3360

three_way_comparable_with is inconsistent with similar concepts

2020-02 (Prague)

Nothing To Do

#103969

LWG3362

Strike stop_source‘s operator!=

2020-02 (Prague)

Complete

17

#100433

LWG3363

drop_while_view should opt-out of sized_range

2020-02 (Prague)

Nothing To Do

#103970

LWG3364

Initialize data members of ranges and their iterators

2020-02 (Prague)

Complete

16

#103971

LWG3367

Integer-class conversions should not throw

2020-02 (Prague)

Nothing To Do

#103973

LWG3369

span‘s deduction-guide for built-in arrays doesn’t work

2020-02 (Prague)

Complete

14

#103974

LWG3371

visit_format_arg and make_format_args are not hidden friends

2020-02 (Prague)

Complete

14

#103975

LWG3372

vformat_to should not try to deduce Out twice

2020-02 (Prague)

Complete

14

#103976

LWG3373

{to,from}_chars_result and format_to_n_result need the “we really mean what we say” wording

2020-02 (Prague)

Complete

14

#103977

LWG3374

P0653 + P1006 should have made the other std::to_address overload constexpr

2020-02 (Prague)

Complete

12

#103978

LWG3375

decay in viewable_range should be remove_cvref

2020-02 (Prague)

Complete

15

#103979

LWG3377

elements_view::iterator befriends a specialization of itself

2020-02 (Prague)

Nothing To Do

#103981

LWG3379

safe“ in several library names is misleading

2020-02 (Prague)

Complete

15

#103982

LWG3380

common_type and comparison categories

2020-02 (Prague)

Complete

15

#103983

LWG3381

begin and data must agree for contiguous_range

2020-02 (Prague)

Nothing To Do

#103984

LWG3382

NTTP for pair and array

2020-02 (Prague)

Nothing To Do

#103985

LWG3383

§[time.zone.leap.nonmembers] sys_seconds should be replaced with seconds

2020-02 (Prague)

Complete

19

#103987

LWG3384

transform_view::*sentinel* has an incorrect operator-

2020-02 (Prague)

Complete

15

#103988

LWG3385

common_iterator is not sufficiently constrained for non-copyable iterators

2020-02 (Prague)

Complete

15

#103989

LWG3387

§[range.reverse.view] reverse_view<V> unintentionally requires range<const V>

2020-02 (Prague)

Complete

15

#103990

LWG3388

view iterator types have ill-formed <=> operators

2020-02 (Prague)

Complete

16

#103991

LWG3389

A move-only iterator still does not have a counted_iterator

2020-02 (Prague)

Complete

15

#103992

LWG3390

make_move_iterator() cannot be used to construct a move_iterator for a move-only iterator

2020-02 (Prague)

Complete

14

#103993

LWG3393

Missing/incorrect feature test macro for coroutines

2020-02 (Prague)

Complete

14

#103994

LWG3395

Definition for three-way comparison needs to be updated (US 152)

2020-02 (Prague)

Nothing To Do

#100434

LWG3396

Clarify point of reference for source_location::current() (DE 169)

2020-02 (Prague)

Nothing To Do

16

#103995

LWG3397

ranges::basic_istream_view::iterator should not provide iterator_category

2020-02 (Prague)

Complete

16

#103996

LWG3398

tuple_element_t is also wrong for const subrange

2020-02 (Prague)

Complete

14

#103997

LWG3446

indirectly_readable_traits ambiguity for types with both value_type and element_type

2020-11 (Virtual)

Complete

13

#103998