Skip to content

Summary of my C++ contributions

Notifications You must be signed in to change notification settings

JMazurkiewicz/CXX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 

Repository files navigation

C++

Microsoft Visual Studio

STL

Implemented C++23 features:

Implemented C++26 features:

Implemented LWG issues:

  • LWG-3707: "chunk_view::outer-iterator::value_type::size should return unsigned type" (#2883)
  • LWG-3515: "[stacktrace.basic.nonmem]: operator<< should be less templatized" (#3236)
  • LWG-3810: "CTAD for basic_format_args" (#3421)
  • LWG-3848: "slide_view missing base accessor" (#3410)
  • LWG-3850: "views::as_const on empty_view<T> should return empty_view<const T>" (#3423)
  • LWG-3851: "chunk_view::inner-iterator missing custom iter_move and iter_swap" (#3517)
  • LWG-3853: "basic_const_iterator<volatile int*>::operator-> is ill-formed" (#3468)
  • LWG-3862: "basic_const_iterator's common_type specialization is underconstrained" (#3471)
  • LWG-3872: "basic_const_iterator should have custom iter_move" (#3470)
  • LWG-3875: "std::ranges::repeat_view<T, IntegerClass>::iterator may be ill-formed" (#3485)
  • LWG-3880: "Clarify operator+= complexity for {chunk,stride}_view::iterator" (#3554)

Fixed bugs:

  • #3113: "<algorithm>: ranges::is_permutation's helper lambda does not specify return type"
  • #3380: "<system_error>: Use uglified [[clang::require_constant_initialization]] attribute"
  • #3493: "<ranges>: Fix misused list-initializations"
  • #3551: "<ranges>: Fix ranges::equal for ranges with integer-class range_difference_t"
  • #3678: "Improve _(Add|Multiply)_with_overflow_check"
  • #3733: "<ranges>: Fix cartesian_product_view::size in debug mode"

Reported bugs:

  • #2312: "<ranges>: using views::reverse on ranges::reverse_view lvalue is broken"
  • #3009: "<iterator>: move_sentinel should be unwrappable"
  • #3010: "Range algorithms don't work when used with unwrappable iterators and custom sentinels"
  • #3392: "<ranges>: views::repeat(...) | views::take(...) is not always a valid range" (fixed by #3485)
  • #3550: "<ranges>: ranges::equal does not work for ranges with integer-class range_difference_t" (fixed by #3551)
  • #3644: "<chrono>: Some (weird) durations still cannot be formatted"
  • #3648: "<chrono>: ambiguous_local_time's message is slightly incorrect"
  • StephanTLavavej/STL#18: "<variant>: Constructor inheritance causes ICE when class in named module inherits from class imported from module std"
  • StephanTLavavej/STL#23: "<ranges>: Usage of ranges::iterator_t causes ICE"

Other improvements:

  • #2696: "Update _MSVC_STL_UPDATE (may 2022)"
  • #3089: "Cleanup views::as_rvalue tests"
  • #3117: "Constexprize bind_front and bind_back tests"
  • #3350: "Improve views::elements tests"
  • #3390: "Improve views::drop(_while) and views::take(_while) tests"
  • #3391: "<ranges>: Add missing test coverage for ranges::view_interface::c(begin|end)"
  • #3553: "<ranges>: Test c(begin|end) members of range factories"
  • #3610: "Testing: Check new C++23 CPOs"
  • #3753: "Make P2415R2_owning_view/test.cpp test something"
  • #3839: "<ranges>: Improve implementation of recommended practices in views::cartesian_product"
  • #3919: "Modernize validate.cpp: Use <print> instead of <cstdio>"
  • #3920: "Testing: check c(begin|end) members of some C++23 ranges"

MSVC compiler

Reported bugs:

  • DevCom-10078204: "[C++20] (Exporting-)Importing module partition with class that inherits constructor from class imported from standard header unit causes ICE"
  • DevCom-10187107: "const_cast cannot be used in constexpr context"
  • DevCom-10269323: "[C++] Post-increment operator cannot refer to this pointer in noexcept specifier"
  • DecCom-10302378: "[C++][Concepts][Regression] Expanding parameter pack in std::invoke_result_t may cause ICE"
  • DevCom-10359857: "[C++][Modules] std::mdspan is unusable with C++20 modules"
  • DevCom-10360833: "[C++][Concepts] CTAD does not work with constrained constructors when requires expression contains nested alias"
  • DevCom-10398426: "/analyze:only: bogus "warning C6287: Redundant code" when expanding integer pack that contains identical values"
  • DevCom-10404496: "[C++][Modules] Using std::views::iota in member function in module causes ICE"
  • DevCom-10404498: "[C++][Modules] Using std::views::repeat in member functions gives bogus error about lack of compare header"

LLVM

libc++

Implemented C++23 features:

Reported bugs:

  • #58315: "[libc++][format] Strings are incorrectly aligned when alignment is not specified"
  • #59763: "[libc++][format] String literals inside of tuple and pair should be escaped"
  • #60123: "[libc++][format] Negation of LLONG_MIN (UB) when formatting chrono::duration"
  • #60164: "[libc++][format] Some contiguous ranges cannot be formatted due to lack of data or size member functions"
  • #60658: "[libc++][ranges] views::drop uses non-reserved identifiers dist and clamped"
  • #60986: "[libc++][ranges] Feature test macro for views::as_rvalue is missing"
  • #61314: "[libc++][format] Should formatter<vec-bool-ref> be default constructible without <format> include?"
  • #62073: "[libc++][format] Should operator<<(thread::id) care about fmtflags in C++23?"
  • #62074: "[libc++][format][chrono] Problems with chrono-specs with short lifetime"
  • #90196: "[libc++][format] Formatting range with m range-type is incorrect"

Clang

Implemented features:

Reported bugs:

  • #59827: "[Clang][concepts] Conditional explicit specifier is checked too early in constrained constructor"
  • #62290: "[Clang][concepts][regression] Construction of a class X nested in class template is ill-formed when X has class template friend with specific constraints"

About

Summary of my C++ contributions

Topics

Resources

Stars

Watchers

Forks