This is an archive of the discontinued LLVM Phabricator instance.

[libc++][format] Addresses LWG3833.
ClosedPublic

Authored by Mordante on Feb 12 2023, 10:47 AM.

Details

Reviewers
ldionne
Group Reviewers
Restricted Project
Commits
rGfaacf8bca337: [libc++][format] Addresses LWG3833.
Summary
LWG3833 Remove specialization template<size_t N> struct formatter<const charT[N], charT>

Depends on D143845

Diff Detail

Event Timeline

Mordante created this revision.Feb 12 2023, 10:47 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 12 2023, 10:47 AM
Mordante requested review of this revision.Feb 12 2023, 10:47 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 12 2023, 10:47 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript
Mordante updated this revision to Diff 497023.Feb 13 2023, 9:36 AM

Retrigger CI.

ldionne accepted this revision.Mar 3 2023, 1:24 PM
ldionne added a subscriber: ldionne.

Nice cleanup!

libcxx/docs/ReleaseNotes.rst
89

Can you comment on how (if at all) this impacts users in the release note? Also, perhaps "Deprecations and Removals" would be a better section for this release note?

This revision is now accepted and ready to land.Mar 3 2023, 1:24 PM
Mordante marked an inline comment as done.Mar 4 2023, 4:53 AM
Mordante added inline comments.
libcxx/docs/ReleaseNotes.rst
89

I moved it. I don't expect anybody to be affected. I only affects people instantiating this specialization either directly or by inheritance. Direct specialization is extremely rare, typically formatters are used from the format functions. Inheriting itself is not rare, but the specialization for a basic_string, basic_string_view, or even const CharT* are more likely candidates for a base class for a custom string-like formatter.

If you want I can add more comment, but I think in this case it's not needed.

This revision was landed with ongoing or failed builds.Mar 4 2023, 4:53 AM
This revision was automatically updated to reflect the committed changes.
Mordante marked an inline comment as done.
libcxx/include/__format/range_default_formatter.h