[all-commits] [llvm/llvm-project] 48abcf: [libc++][format] Adds formattable-with concept.

Mark de Wever via All-commits all-commits at lists.llvm.org
Tue Jun 20 23:06:27 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 48abcf11ada1e0b300d907dcdb3cf7b191fdc85e
      https://github.com/llvm/llvm-project/commit/48abcf11ada1e0b300d907dcdb3cf7b191fdc85e
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2023-06-21 (Wed, 21 Jun 2023)

  Changed paths:
    M libcxx/docs/ReleaseNotes.rst
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/include/__format/concepts.h
    M libcxx/include/__format/format_arg.h
    M libcxx/include/__format/format_arg_store.h
    M libcxx/include/__format/formatter_string.h
    M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.tuple/format.functions.tests.h

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

This change has a few additional effects:
- Abstract classes are now formattable.
- Volatile objects are no longer formattable.

Implements
- LWG3631 basic_format_arg(T&&) should use remove_cvref_t<T> throughout
- LWG3925 Concept formattable's definition is incorrect

Reviewed By: #libc, ldionne

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




More information about the All-commits mailing list