Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[LWG 3] P2407R5 Freestanding Library: Partial Classes #6702

Merged
merged 2 commits into from Dec 17, 2023

Conversation

jensmaurer
Copy link
Member

@jensmaurer jensmaurer added this to the post-2023-11 milestone Nov 16, 2023
source/lib-intro.tex Show resolved Hide resolved
source/lib-intro.tex Outdated Show resolved Hide resolved
source/lib-intro.tex Outdated Show resolved Hide resolved
source/strings.tex Outdated Show resolved Hide resolved
source/strings.tex Outdated Show resolved Hide resolved
@jensmaurer jensmaurer changed the title P2407R5 Freestanding Library: Partial Classes [LWG 3] P2407R5 Freestanding Library: Partial Classes Nov 17, 2023
@tkoeppe
Copy link
Contributor

tkoeppe commented Dec 17, 2023

@jensmaurer, @jwakely is changing value() to **this still useful/beneficial after 199ed18 / "LWG3973 Monadic operations should be ADL-proof" / https://cplusplus.github.io/LWG/lwg-defects.html#3973?

@tkoeppe tkoeppe force-pushed the motions-2023-11-lwg-3 branch 2 times, most recently from ace9d8e to 397a5a6 Compare December 17, 2023 14:33
@@ -635,6 +635,8 @@
#define @\defnlibxname{cpp_lib_format_ranges}@ 202207L // also in \libheader{format}
#define @\defnlibxname{cpp_lib_formatters}@ 202302L // also in \libheader{stacktrace}, \libheader{thread}
#define @\defnlibxname{cpp_lib_forward_like}@ 202207L // freestanding, also in \libheader{utility}
#define @\defnlibxname{cpp_lib_freestanding_algorithm}@ 202311L // freestanding, also in \libheader{algorithm}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jensmaurer, @jwakely Please note that I'm reconciling this with Motion 2 by adding <numeric> here, too, for the saturation arithmetic.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jwakely OK, we should make a decision here. Adding a new macro for numeric seems reasonable, too, shall I go ahead with that?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I think so. I've pinged Barry and Ben on the PR for that change, for extra eyes.

@tkoeppe
Copy link
Contributor

tkoeppe commented Dec 17, 2023

@jensmaurer, @jwakely is changing value() to **this still useful/beneficial after 199ed18 / "LWG3973 Monadic operations should be ADL-proof" / https://cplusplus.github.io/LWG/lwg-defects.html#3973?

Hm, why is there even a separate commit for the **this changes in [optional.monadic]? Those changes are part of the paper. I'll squash them.

The cpp_lib_freestanding_algorithm macro was created by this
paper (LWG Motion 3, P2407R5), but the previous paper (LWG-2, P0543R3)
already added to the freestanding algorithms, so it should also define
this feature test macro.
@tkoeppe tkoeppe merged commit 31f4e1d into main Dec 17, 2023
4 checks passed
@jwakely
Copy link
Member

jwakely commented Dec 18, 2023

@jensmaurer, @jwakely is changing value() to **this still useful/beneficial after 199ed18 / "LWG3973 Monadic operations should be ADL-proof" / https://cplusplus.github.io/LWG/lwg-defects.html#3973?

Unfortunately, 3973 was badly broken, see LWG 4015. **this would be less broken.

But in terms of what's actually been approved for the draft, I think 3973 takes precedence, despite being broken :-( 3973 was explicitly intended to "fix" the changes made here to avoid ADL for operator*., even though that's a complete non-issue in most real code, whereas what 3973 requires won't even compile for many real cases.

@tkoeppe
Copy link
Contributor

tkoeppe commented Dec 18, 2023

@jwakely So shoud we change **this back to *val for now?

@tkoeppe
Copy link
Contributor

tkoeppe commented Dec 18, 2023

Sending a follow-up commit now.

@jensmaurer jensmaurer deleted the motions-2023-11-lwg-3 branch March 23, 2024 11:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[2023-11 LWG Motion 3] Freestanding Library: Partial Classes P2407 R5 Freestanding Library: Partial Classes
4 participants