mastodon.me.uk is one of the many independent Mastodon servers you can use to participate in the fediverse.
Open, user-supported, corporation-free social networking for the UK.

Administered by:

Server stats:

488
active users

#WG21

0 posts0 participants0 posts today

There's resistance against using the same name in a namespace and a type inside that namespace. Why? What is the actual problem with this code? Is the 'foo::foo' looking too much like a constructor definition (in that context)? Isn't it great how the call to 'bar' has a clear relation to 'foo'?
Why is it considered bad practice that shouldn't pass code review?

#cpp#cplusplus#WG21
Replied in thread

@dneto 🙂 that phrasing/song was unknown to me.
I'd like to learn more about the details of non-IEEE fp. I know about targets missing support for evaluating subnormals, while still using IEEE representation. I need a better understanding here because there's a push in #WG21 (#cpp committee) to rely more on IEEE fp. And also the big question of compile-time vs. run-time behavior of fp.

Replied in thread

@foonathan

“We should also be clear that the work on profiles does appear to have extremely strong support in WG21.”

This is, to a significant extent, because people who feel that profiles are a complete waste of time have given up on , or have even given up on C++.

How do you write a condition (C++23) that is partially constexpr-if and in part a run-time branch? If I nest constexpr-if and if, I cannot avoid duplication of the else branch. If I remove the constexpr keyword, the code is ill-formed for some specializations. 😩 I need a branch that mixes constexpr and runtime conditions! #cpp #wg21

I hope this post gets the attention of at least a few ISO C++ "std-proposals" subscribers.

Does std-proposals subscription really mail every subscriber their pwd, in clear, *every month*? Why?

I imagine historical reasons like forgetful subscribers back when online interactions were not routine, but this day and age? May be the page is old and this is no longer practiced? 🤔

Just curious. Don't mean to question anything. ✌️

EDIT: Answered 🙏

lists.isocpp.org/mailman/listi #cpp #isoCpp #wg21 #infosec

Replied in thread

@root42 "Reports from users in the field indicated repeated attempts to use this facility, as a part of the standard library bearing the most useful name suggested this should be our best practice, only to repeatedly fail for subtle reasons in our underspecification, leading to many home-grown solutions instead after much wasted time."

2/3

Replied in thread

@root42 "As the Unicode standard and security experts point out, ill-formed UTF can be and has been used as an attack vector. Yet the <codecvt> facets don’t provide the safe forms of error handling as their defaults, and it is far to
hard to use them in a safe way."

1/3

Replied in thread

@timur_audio Excellent. My view was always, "Be courageous and introduce keywords!" and I'm glad that we'll get a contracts syntax that matches the other syntax around function declarations. Thanks for all your hard work.

I'd like to show this to my colleagues. Do you know when there will be an implementation available via Compiler Explorer?

I fear, I travelled around the world to Kona on my own(my wife's) money for #Cplusplus #Cpp #wg21 meeting and none of the not yet accepted/rejected papers I wrote and contributed to will be discussed this week.

so no progress on

assert(...) P2264
std::ignore= P2968
optional<T&> P2988

Should I

Replied in thread

@blinkygal NaN is unordered with respect to other floating point values, so I don't think it makes sense for the IS to mandate a particular result from ranges::max().

Does it overly constrain implementers to require that compile time and runtime UB from floating point operations are congruent? I tried arguing for congruence in but was outvoted.

What if one filed an implementation bug? Not sure what the response would be.

: Friday notes

I hung out in EWG all day.

- P2884r0, P2883r0: We didn't agree to make offsetof and assert into keywords
- We enjoyed a "7 min presentation" (actually 45 mins) on why functions with narrow contracts should not be noexcept; more to come in Kona
- P2814r0, P2786r1: Absolutely no meeting of minds on trivial relocatability; EWG seems to want a full, general solution to relocation. But we discouraged everyone who proposed relocation features over the last 10 yrs…

: Thursday notes 2/2

Otherwise, we had SG21 Contracts meeting all day. We agreed to add link-time replaceable contract violation handler functions to the Contracts proposal.

I'm not entirely convinced that this is actually necessary for a "minimal viable product"; we are asymptotically approaching the feature set of the previous "full fat" Contracts proposal that was abandoned for C++20.

However, if we are going to have it, then this is fine.

: Thursday notes 1/2

First session in EWG — P2795r1 on erroneous behaviour.

@JamesWidman raised this on Mastodon today, completely independently. I agree with @thephd's views on this.

IMO the only reasonable way to deal with problems caused by undefined behaviour is to define the damn behaviour, if at all possible.

Erroneous behaviour is WG21 handing to implementers the responsibility for making C++ more difficult to write bugs in. We should make the difficult decisions.

: Wednesday notes

Morning in EWG, afternoon in SG23 Safety & Security

- P2169r3: Finally, _ as a placeholder identifier! My most wanted C++26 paper approved
- P2839r0: Author has thought deeply about relocation & developed a detailed proposal, but struggled to compellingly present it

- P2771r1, P2878r1: Continued intensive work to avoid the inevitable fact that resource safety in C++ requires lifetimes in the type system.

No, the Core Guidelines have not already solved it

: Wednesday lunchtime thoughts:

The first time you present your paper in the Evolution WG, it is essential to get everyone to:

- understand the problem you are seeking to solve
- agree that it is a problem that needs to be solved in the ISO language standard

There have been multiple presenters at this conference who have not managed to do this.

Remember that your ideas may need to be presented in a different way in an oral presentation. Consider preparing some slides.

: Tuesday notes

Morning in Evolution, afternoon in SG21 Contracts

- P2561r2: new control flow operator useful for explicit error handling; I don't like the syntax
- P2881r2: we don't need another incompatible way to write coroutines
- D2552r3: agreed least bad wording solution

We narrowed in on some semantics for contract violation handlers, but they feel pretty complicated to me. The problem with "minimal viable product" is no-one agrees on the meaning of "viable".