À propos de WG21,
Zoom 2021 (juin)
Nous avons tenu une rencontre plénière du WG21
le 7 juin 2021, à
travers Zoom. J'ai donc participé à cette rencontre et aux votes à distance,
comme toutes mes collègues et tous mes collègues du comité.
Tout ce qui suit est anonymisé et simplifié, dans le respect du code de
conduite d'ISO
en vigueur lors de nos rencontres.
Pour les « journaux de voyage » d'autres participants, voir :
Déroulement de la rencontre
C'est toujours agréable de revoir les collègues, même si c'est énormément
plus agréable (et stimulant!) en personne. Avec toutes les rencontres virtuelles
que nous avons en cette période de pandémie, je peine à suivre ces dossiers qui
me tiennent à coeur.
La signature de feuille de présence s'est faite de manière virtuelle : il
fallait confirmer sa présence à travers
ISO au
préalable, et la liste de participant(e)s de Zoom a permis de valider la
présence effective.
Chose amusante : quand Herb
Sutter démarre l'accueil, trois des quatre premier arrivants (dont votre
humble serviteur) sont canadiens,
ce qui le fait bien rire.
On comptait environ 105 personnes au début de la
rencontre, 119 au maximum, avec
17 pays participants (NB)
sur les 19 qui participent relativement
régulièrement. Les NB présents aujourd'hui sont l'Autriche, la Bulgarie, le Canada,
la République Tchèque, la Finlande, la France, l'Allemagne, Israël, l'Italie,
les Pays-Bas, la Pologne, la Russie, la Slovaquie, l'Espagne, la Suisse, le
Royaume-Uni et les États-Unis
Comme c'est l'usage, une partie de l'amorce de la rencontre a porté sur un
rappel du code de conduite et d'autres règles de procédure (p. ex. : pas de
diffusion pendant que la réunion procède). Le code de conduite est
particulièrement important dans le monde d'aujourd'hui... John Spicer, qui est Chair de
WG21, fait le tour avec la
prestance qu'on lui connaît. Bien entendu, les règles de vote (toujours
archi-importantes lors de ces rencontres) sont rappelées à toutes et à tous.
Un tour de table de présentation suit; on se limite aux Chairs et aux
nouveaux membres. John Plaice, un ami que je croise parfois au
C++ Users Group de Montréal
et à CppCon, est
parmi nous aujourd'hui (allo!)
Aaron Ballman présente les développements en cours du côté
du langage C,
en vue de C 23, car nous cherchons à conserver la
comptabilité entre les deux langages dans la mesure du raisonnable. En
particulier, defer semble intéressant pour
C++.
Nous procédons à l'approbation du WD de
C++ 23
(4885).
Ce qui est soumis à un vote aujourd'hui
Les votes sont groupés par groupe de travail, comme à l'habitude.
Objets amenés en plénière par
CWG
Les objets amenés pour vote par
CWG suivent.
- Un ensemble de correctifs (DR)
apportés au langage (P2386 mais il faut des
privilèges pour y accéder; c'est plein de trucs croustillants).
Unanime
- Apply the changes in (P1938) (if consteval) to the C++ working
paper. Unanime
- Apply the changes in (P2186) (Removing Garbage Collection Support) to the C++ working
paper. Unanime
- Accept (P1949) (C++ Identifier Syntax using Unicode Standard Annex 31) as a DR and apply the changes therein to the C++ working
paper. Unanime
- Accept (P2156) (Allow Duplicate Attributes) as a DR and apply the changes therein to the C++ working
paper. Unanime
- Apply the changes in (P1401) (Narrowing contextual conversions to bool) to the C++ working
paper. Unanime
- Apply the changes in (P2223) (Trimming whitespaces before line splicing) to the C++ working
paper. Unanime
- Apply the changes in (P1847) (Make declaration order layout mandated) to the C++ working
paper.
- Il y a de la contestation ici, car certains craignent que retirer de la
liberté au compilateur peut nuire à la qualité du code généré
- Évidemment, aucune implémentation ne profitant présentement de cette
latitude, on ne perd rien
- Vote. Consensus pour
- Apply the changes in (P2201) (Mixed string literal concatenation) to the C++ working
paper. Unanime
Manifestement, SG16 travaille fort car quelques-uns de leurs efforts sont
intégrés au langage aujourd'hui.
Objets amenés en plénière par
LWG
Les objets amenés pour vote par
LWG suivent.
À propos de la Concurrency TS :
- Apply the changes in (P1122) (Proposed Wording for Concurrent Data Structures: Read-Copy-Update (RCU)) to the Concurrency TS working
paper. Unanime
- Apply the changes in (P1121) (Hazard Pointers: Proposed Interface and Wording for Concurrency TS 2) to the Concurrency TS working
paper. Unanime
À propos des
LWG
Issues :
- Apply the changes for all Tentatively Ready issues in (P2385
mais il faut des privilèges pour y accéder) (C++ Standard Library Issues to be moved in Virtual Plenary, June 2021) to the C++ working
paper. Unanime
- On demande si certains sont des DR,
mais Jonathan Wakely
explique que tous les Library Issues sont implicitement traités comme des DR
En vue de
C++ 23 :
- Apply the changes in (P1132) (out_ptr
- a scalable output pointer abstraction) to the C++ working
paper
- Il y a de la contestation ici
- Vote. Consensus pour, mais beaucoup d'abstentions. On discute un peu
- Apply the changes in (P1328) (Making std::type_info::operator==
constexpr) to the C++ working
paper. Unanime
- Apply the changes in (P0448) (A strstream
replacement using
span as buffer) to the C++ working
paper. Unanime
- Apply the changes in (P1425) (Iterators pair constructors for stack
and queue) to the C++ working
paper. Unanime
- Apply the changes in (P1518) (Stop overconstraining allocators in container deduction guides) to the C++ working
paper. Unanime
- Apply the changes in (P0401) (Providing size feedback in the Allocator interface) to the C++ working
paper. Unanime
- Apply the changes in (P1659) (starts_with
and ends_with) to the C++ working
paper. Unanime
- Apply the changes in (P1951) (Default Arguments for pair's Forwarding Constructor) to the C++ working
paper. Unanime
- Apply the changes in (P1989) (Range constructor for std::string_view
2: Constrain Harder) to the C++ working
paper. Unanime
- Apply the changes in (P2136) (invoke_r) to the C++ working paper.
Unanime
- Apply the changes in (P2166) (A Proposal to Prohibit std::basic_string
and std::basic_string_view construction from nullptr) to the C++ working
paper. Unanime
À propos de
C++ 20
et de C++ 23 (on parle de DR sur
C++ 20
qui sont
assez gros – des Breaking Changes – pour mériter une attention particulière) :
- Apply the changes in (P2231) (Missing
constexpr in
std::optional and
std::variant) to the
C++ working paper, as a defect report for
C++ 20.
Unanime
- Apply the changes in (P2216) (std::format
improvements) to the C++ working paper, as a defect report for
C++ 20
- Quelqu'un demande si cela changera l'ABI
de
C++ 20. Jonathan Wakely
dit oui, ce qui est l'une des raisons pour la mettre en relief
- Il y a contestation
- Vote. Consensus
- Apply the changes in (P2281) (Clarifying range adaptor objects) to the C++ working paper. This resolves LWG issues 3509 and
3510. Unanime
- Apply the changes in (P2328) (join_view
should join all views of ranges) to the C++ working paper, as a defect
report for
C++ 20.
Unanime
- Apply the changes in (P2325)
(Views should not be required to be default constructible) to the C++ working
paper, as a defect report for
C++ 20.
Unanime
- Apply the changes in (P2210)
(Superior String Splitting) to the C++ working paper, as a defect report for
C++ 20.
Unanime
- Apply the changes in (P2367)
(Remove misuses of list-initialization from Clause 24) to the C++ working
paper, as a defect report for
C++ 20.
Unanime
Objets qui touchent WG21
On va créer un nouveau TS :
- Direct the project editor for the Concurrency Technical Specification V2 to produce an initial working paper based on
(P1122) and
(P1121).
Unanime
- Direct the Convener to request a New Work item for a Technical Specification for C++ Concurrency V2 based on
(P1122) and
(P1121) as an indication of its
content. Unanime
Ce sera une TS costaude!
D'autres motions (de PL22.16) affirment :
- Que nous travaillons toujours sur le Networking TS
- Que nous retirons le Modules TS (ce mécanisme étant intégré au langage
désormais)
Autres objets de discussion
L'essentiel du reste de la rencontre fut pour clarifier que la prochaine rencontre virtuelle
sera en octobre 2021 (pas en novembre comme c'est
l'habitude).
La prochaine
rencontre envisageable serait en 2022 à Portland (Oregon).