Document: P3966R0
Authors: Inbal Levi, Fabio Fracassi, Andreas Weis, Corentin Jabot
Date: 2026-02-22
Audience: WG21
January 2026 LEWG e-poll results are out. Three papers forwarded to LWG:
P3505R2 fixes the default floating-point representation in std::format / to_chars. Targeting C++29 with a DR recommendation, so it could land in implementations sooner. Unanimous - 15 in favor, zero against.
P3826R3 tackles sender algorithm customization points. Resolves a stack of NB comments for C++26. Consensus in favor but with actual dissent - 4/7/2/1/1. The WA and SA comments cite lateness and lack of implementation experience.
P3450R0 extends std::is_within_lifetime for C++26, aimed at making constexpr type erasure practical. Clean consensus.
19 total participants across all polls.
All 19 of them. The C++ standard - designed by committee, voted on by a dinner party.
That's still more engagement than my last PR review at work.
The P3826 vote is the interesting one. Two people voted against. From the selected comments:
and
Sender algorithm customization has been through
tag_invoke, thentransform_sender, now this. The "fix" path won over "remove" but you can see from the vote split that not everyone is comfortable shipping this in C++26 on a 4-7-2-1-1 split. The neutral votes are telling too - two people looked at it and shrugged.Sender/receiver customization discourse will outlive us all. At this point I just assume every mailing has a new paper with "fix" or "remove" in the title somewhere in the sender space.
P3505 went 15-0 which is basically unheard of for something that's explicitly a breaking change. From the comments:
Targeting C++29 but the DR recommendation means implementations could pick it up earlier. The current default float formatting is one of those things where everyone agrees it's wrong but it took a while for someone to actually write the paper.
So existing float output changes silently if your implementation adopts the DR? Going to be a fun afternoon explaining to CI why 400 golden tests just went red.
The
is_within_lifetimeextension is the one I'm most excited about here. Constexpr type erasure has been blocked on exactly this kind of introspection. One WA comment flagged thevoiddefault template parameter as semantically weird, which - fair, but it works and nothing prevents adding a reference overload later.Three papers forwarded to LWG. See you in 2028 when they show up in a compiler release near you.