[all-commits] [llvm/llvm-project] a1beb0: [libc++][format] Implements formattable concept.

mordante via All-commits all-commits at lists.llvm.org
Wed Oct 5 13:21:18 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a1beb0a38262f2456e435d16cb00867e2cdbb432
      https://github.com/llvm/llvm-project/commit/a1beb0a38262f2456e435d16cb00867e2cdbb432
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2022-10-05 (Wed, 05 Oct 2022)

  Changed paths:
    M libcxx/docs/Status/Cxx2bIssues.csv
    M libcxx/docs/Status/FormatPaper.csv
    M libcxx/include/__format/concepts.h
    R libcxx/test/libcxx/utilities/format/format.formatter/format.formatter.spec/formattable.compile.pass.cpp
    A libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.handle.pass.cpp
    R libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/types.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/P2418.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format_tests.h

  Log Message:
  -----------
  [libc++][format] Implements formattable concept.

This concept is introduced in P2286, but was implemented in libc++
before. This implementation was used in the library internally. This
implementation lacked the resolution of LWG3636. The original formatter
had a non-const member function that wasn't trivial to make a const
member. The recent parser improvements made this member a const member
in preparation of LWG3636.

Note LWG3636 isn't voted in. Its status is Ready. P2286's concept has
been written as-if LWG3636 is accepted and refers to that LWG issue.

Updates some tests make format a const member function and removes a
tests that's mainly a duplicate of the formattable concept test.

Implements
- LWG3636 formatter<T>::format should be const-qualified

Implements parts of
- P2286R8 Formatting Ranges

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D134110




More information about the All-commits mailing list