À propos de WG21,
Zoom 2021 (octobre)
Nous avons tenu une rencontre plénière du WG21
le 4 octobre 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
Je suis un peu malade, et pas aussi alerte qu'à la normale, alors je vais
travailler fort pour ne pas dire ou faie de bêtises aujourd'hui.
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.
On comptait environ 66 personnes au début de la
rencontre, 101 au maximum, avec un nouveau pays participants (NB) : la Chine (une première depuis que je suis là!). On a en particulier Bill Ash, de
SC22 (Programming Languages) notre comité parent
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. Il
rappelle aussi que les rencontres se tiennent normalement en novembre l'automne,
mais que nous profitons du modèle en ligne pour espacer les rencontres de
manière un peu plus uniforme que selon nos traditions. Le volet le plus
compliqué est la procédure de votation (étant en ligne, il y a des variations
selon les outils...)
On évite le tour de table de présentations des Chairs pour accélérer la
procédure, mais on fait tout de même un tour de table des nouvelles
participantes et des nouveaux participants.
Nous procédons à l'approbation du WD de
C++ 23
(4892). Unanime
Nous devions aussi procéder à l'approbation du WD
du Concurrency TS v2, mais il semble y avoir eu de la confusion dans la
procédure alors nous le ferons en février 2022
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. Quelques
changements de dernière minute sont expliqués séance tenante
- Accept as Defect Reports all issues except issue 1726 in P2462R0 (Core Language Working Group "ready" Issues for the October, 2021 meeting) and apply the proposed resolutions to the C++ working paper.
Unanime
- Le cas du issue 1726 est dû à des irritants signalés un peu à la dernière
minute
- Apply the changes in P2242R3 (Non-literal variables (and labels and gotos) in constexpr
functions) to the C++ working paper. Unanime
- Apply the changes in P0847R7 (Deducing this) to the C++ working paper.
Unanime. C'est un changement significatif
- Apply the changes in P2316R2 (Consistent character literal encoding) to the C++ working paper.
Unanime
- Apply the changes in P2334R1 (Add support for preprocessing directives elifdef
and elifndef) to the C++ working paper.
Unanime
- En ceci, nous rejoignons C qui a accepté ce changement plus tôt cette
année
- Apply the changes in P2246R1 (Character encoding of diagnostic text) to the C++ working paper.
Unanime
- Apply the changes in P2360R0 (Extend init-statement to allow alias-declaration) to the C++ working paper
Unanime
- Accept P2036R3 (Change scope of lambda trailing-return-type) as a Defect
Report and apply the changes therein to the C++ working paper (un ajout
tardif). Unanime
- Apply the changes in P2128R6 (Multidimensional subscript operator) to the C++ working paper
- Ça va améliorer le langage, mais il y a des préoccupations dû à de la
résistance de la part de WG14 (langage C). La résistance tient à des chemins
envisagés pour faire évoluer C et C++, et à une crainte de divergence
éventuelle dans le futur (pour le moment, il n'y a pas de réel problème)
- Vote. Consensus
- Apply the changes in P2314R4 (Character sets and encodings) to the C++ working paper
(un ajout tardif). Unanime
- Direct the convener to request a New Work Item for a Technical
Specification on "C++ Extensions for Minimal Transactional Memory" with
P2066R10 (Suggested draft TS for C++ Extensions for Minimal Transactional
Memory) as its initial content and Michael Wong as project editor and, if the
New Work Item is approved, to publish the result for a DTS ballot. Unanime,
mais il y a des enjeux de procédure car on accepte en pratique deux étapes d'un
seul coup
Objets amenés en plénière par
LWG
Les objets amenés pour vote par
LWG suivent. Il y a eu
des changements tardifs, mais rien d'irrégulier (les sujets proposés pour vote y
sont depuis plus d'une semaine)
À propos des
LWG
Issues :
- Apply the changes for all Tentatively Ready issues in P2450R0 (C++ Standard
Library Issues to be moved in Virtual Plenary, Oct. 2021) to the C++ working
paper. Unanime
En vue de
C++ 23 :
- Apply the changes in P0288R9 (move_only_function) to the C++ working paper.
Unanime
- Apply the changes in P0798R8 (Monadic operations for std::optional) to the
C++ working paper. Unanime
- Apply the changes in P0849R8 (auto(x): decay-copy in the language) to the
C++ working paper. Unanime
- Apply the changes in P1072R10 (basic_string::
resize_default_init
resize_and_overwrite) to the
C++ working paper
- Il y a demande de vote. Majorité, mais avec beaucoup d'abstentions. On
constate que la raison de la résistance semble avoir été dû à une erreur dans
le nom de la fonction, qui posait problème et avait changé au fil des
versions, mais on en finit tout de même avec un vote. Il y a plus d'absentions
que de « oui », alors on consulte les NB. On discute avec le demandeur du vote
(une sommité), et sa position tient à un choix d'API qui lui semble suboptimal
(il estime que Boost offre une meilleure API). Consensus
- Apply the changes in P1147R1 (Printing volatile Pointers) to the C++
working paper. Unanime
- Apply the changes in P1272R4 (Byteswapping for fun&&nuf) to the C++ working
paper. Unanime
- Apply the changes in P1675R2 (rethrow_exception must be allowed to copy) to
the C++ working paper. Unanime
- Apply the changes in P2077R3 (Heterogeneous erasure overloads for
associative containers) to the C++ working paper.
- Il y a demande de vote. Consensus
- Apply the changes in P2251R1 (Require span & basic_string_view
to be
Trivially Copyable) to the C++ working paper
- On demande si ceci peut être traité comme un DR. Cela ne semble pas avoir
été discuté par LEWG; ce qui a été mentionné dans les discussions est que
c'est une réalité en pratique (la plupart des vendeurs offrent ces types en
respectant cette contrainte aujourd'hui)
- Unanime
- Apply the changes in P2301R1 (Add a pmr alias for std::stacktrace) to the
C++ working paper
- Demande de vote. Consensus
- Apply the changes in P2321R2 (zip) to the C++ working paper.
Unanime
- Apply the changes in P2340R1 (Clarifying the status of the "C headers") to
the C++ working paper. Unanime
- Apply the changes in P2393R1 (Cleaning up integer-class types) to the C++
working paper. Unanime
- Apply the changes in P2401R0 (Add a conditional noexcept
specification to
std::exchange) to the C++ working paper. Unanime
À propos de
C++ 20
et de C++ 23 (on parle de DR sur
C++ 20
qui méritent une attention particulière) :
- Apply the changes in P2372R3 (Fixing locale handling in chrono formatters)
to the C++ working paper, as a Defect Report for C++20. Unanime
- Apply the changes in P2415R2 (What is a view?) to the C++ working paper, as
a Defect Report for C++20
- Il y a demande de vote. Consensus, mais avec beaucoup d'abstentions. Les
Ranges sont un sujet très lourd, et je ne pense pas que nous l'avions tous
encore pleinement apprivoisé
- Apply the changes in P2418R2 (Add support for std::generator
-like types to
std::format) to the C++ working paper, as a Defect Report for C++20.
Unanime
- Apply the changes in P2432R1 (fix istream_view) to the C++ working paper,
as a Defect Report for C++20
- Il y a demande de vote. Consensus, encore une fois avec beaucoup
d'absentions
Objets qui touchent WG21
On a en pratique une motion pour PL22.16 qui doit approuver les travaux sur
la Concurrency TS v2. C'est un gros vote, une compagnie à la fois (il y a des
catégories de voteurs, selon la participation passée). Ça passe
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 rencontre de 2022 prévue pour se tenir à
Portland (Oregon) sera virtuelle. La prochaine rencontre in vivo
envisageable est New York en juillet 2022.