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

P2156 Allow Duplicate Attributes #864

Closed
wg21bot opened this issue Apr 24, 2020 · 6 comments · Fixed by cplusplus/draft#4664
Closed

P2156 Allow Duplicate Attributes #864

wg21bot opened this issue Apr 24, 2020 · 6 comments · Fixed by cplusplus/draft#4664
Labels
C++23 Targeted at C++23 CWG Core plenary-approved Papers approved for inclusion in their target vehicle by plenary vote.
Projects
Milestone

Comments

@wg21bot
Copy link
Collaborator

wg21bot commented Apr 24, 2020

P2156R0 Allow Duplicate Attributes (Erich Keane)

@wg21bot wg21bot added CWG Core EWG Evolution EWGI Evolution Incubator labels Apr 24, 2020
@wg21bot wg21bot added this to the 2020-telecon milestone Apr 24, 2020
@jensmaurer jensmaurer removed the CWG Core label Apr 24, 2020
@jfbastien jfbastien removed the EWGI Evolution Incubator label Apr 24, 2020
@jfbastien
Copy link
Collaborator

Discussed in EWG telecon on July 2nd:

P2156R0 is tentatively ready to move to CWG, once we can forward to Core (modulo no_unique_addr wording)

SF F N A SA
5 5 1 0 0

@jfbastien jfbastien added the needs-revision Paper needs changes before it can proceed label Jul 24, 2020
@wg21bot
Copy link
Collaborator Author

wg21bot commented Aug 1, 2020

P2156R1 Allow Duplicate Attributes (Erich Keane)

@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label Aug 1, 2020
@jfbastien jfbastien added the EWG-vote-on-me EWG can vote on this label Sep 21, 2020
@jensmaurer jensmaurer modified the milestones: 2020-telecon, 2021-telecon Dec 28, 2020
@AaronBallman
Copy link
Collaborator

This paper does not need to be seen by SG22 as it was already seen by WG14 as part of WG14 N2557, which was approved at the Oct 2020 meeting.

Straw Poll: Is the committee in favor of adopting N2557 into C23? 19-0-0

@jensmaurer jensmaurer added this to Ready for review in CWG Feb 2, 2021
@jfbastien
Copy link
Collaborator

EWG February 2021 polls:

Poll: Forward P2156R1 "Allow Duplicate Attributes" to Core, thereby also fixing [CWG1914].

SF F N A SA
12 11 3 1 1

Poll outcome: ✅ consensus.

Salient comments:

  • (Against / Strongly against) The use case (macro replacement) is questionable, especially for cases where the same attribute has different values. It also further complicates future extensions for reflection on attributes. We can resolved CWG1914 by declaring that the particular attributes mentioned there could not be specified more than once on a declaration, even in separate attribute specifiers.
  • In practice, attributes are often hidden in macros and it is easy to get duplicates, and fixing the duplication is challenging in code that supports many compilers and standards.
  • Especially useful for auto-generated code.
  • It is easier on developers if we allow duplicate attributes.
  • I see no reason for preventing [[X, X]] but allowing [[X]] [[X]] as these variants should be equivalent.
  • Compilers could still warn about duplicated attributes.
  • This unifies the behavior with what’s already been adopted into C.
  • This makes the language more regular.

@jfbastien jfbastien added CWG Core and removed EWG Evolution EWG-vote-on-me EWG can vote on this labels Mar 9, 2021
@jensmaurer jensmaurer moved this from Ready for review to Approved for plenary vote in CWG Apr 12, 2021
@jensmaurer
Copy link
Member

CWG 2021-04-12: Approved P2156R1 for plenary vote.

@jensmaurer jensmaurer added the straw-poll Straw poll label Apr 12, 2021
@cor3ntin cor3ntin added plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. C++23 Targeted at C++23 labels Jun 7, 2021
@wg21bot
Copy link
Collaborator Author

wg21bot commented Oct 26, 2021

Adopted 2021-06.

@jensmaurer jensmaurer removed the straw-poll Straw poll label Oct 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C++23 Targeted at C++23 CWG Core plenary-approved Papers approved for inclusion in their target vehicle by plenary vote.
Projects
CWG
Approved for plenary vote
Development

Successfully merging a pull request may close this issue.

5 participants