Skip to content

LWG-3530 BUILTIN-PTR-MEOW should not opt the type out of syntactic checks #2182

@StephanTLavavej

Description

@StephanTLavavej

LWG-3530 BUILTIN-PTR-MEOW should not opt the type out of syntactic checks

Background:

The C++ Standardization Committee's Library Working Group recently resolved the linked issue, which changed a bunch of complicated wording in the C++ Standard. The good news is that our implementation already conforms to the updated Standard, so all we have to do is remove a bunch of comments from the code. (These comments cited our also-complicated issue GH-489 - no need to read that issue, just citing it for completeness.)

Specifically, there are 11 comments saying // TRANSITION, GH-489 across 4 files (<compare>, <functional>, <system_error>, and <xutility>), for example:

STL/stl/inc/compare

Lines 324 to 326 in 6fe2eae

template <class _Ty1, class _Ty2>
requires three_way_comparable_with<_Ty1, _Ty2> // TRANSITION, GH-489
_NODISCARD constexpr auto operator()(_Ty1&& _Left, _Ty2&& _Right) const

Necessary changes:

  • Find and remove all 11 occurrences of // TRANSITION, GH-489.
  • Avoid leaving any trailing whitespace (if you do, our automated checks will detect that).
    • Many editors (including VSCode) have commands to Trim Trailing Whitespace. For convenience, if you use VSCode's Open Folder on our repo, it will automatically trim trailing whitespace when you save files. (This is controlled by this line in our .vscode/settings.json, if you're curious.)

This issue is intended for a new contributor (especially one new to GitHub) to get started with the simplest possible change.

Please feel free to submit a pull request if there isn't one already linked here - no need to ask for permission! 😸

You can (and should) link your pull request to this issue using GitHub's close/fix/resolve syntax.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationRelated to documentation or commentsfixedSomething works now, yay!good first issueGood for newcomers

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions