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

Eliminate redundant use of typename throughout library P2150 #3637

Open
AlisdairM opened this issue Jan 17, 2020 · 7 comments
Open

Eliminate redundant use of typename throughout library P2150 #3637

AlisdairM opened this issue Jan 17, 2020 · 7 comments
Labels
big An issue causing a large set of changes, scattered across most of the text. lwg Issue must be reviewed by LWG.
Milestone

Comments

@AlisdairM
Copy link
Contributor

Following the adoption of http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0634r3.html many uses of ‘typename’ throughout the library are now redundant. They should be eliminated to provide a cleaner modern presentation of the standard library, much as when we switched from typedef to using.

Such a wide-reaching change is likely a policy decision to be approved by LWG, but application is more likely an editorial issue (requiring careful review) to avoid overloading precious LWG time.

Suggest this should be an issue for C++23 to avoid disrupting the imminent progress of C++20, and allowing adequate time for reviews. May consider updating one clause at a time, to ease review load.

@jensmaurer jensmaurer added big An issue causing a large set of changes, scattered across most of the text. lwg Issue must be reviewed by LWG. labels Jan 17, 2020
@jensmaurer
Copy link
Member

Please submit an LWG issue for the policy decision. It would also be helpful to identify patterns of "typename" use that are deemed redundant. (Possibly, not all technically-redundant "typename"s should be removed, for clarity of exposition.)

@jensmaurer jensmaurer added this to the C++23 milestone Jan 17, 2020
@AlisdairM
Copy link
Contributor Author

I will try to put a paper into the post-Prague mailing, collecting the different patterns of typename usage that can safely be simplified, and those that cannot. Hopefully much of the discussion can occur online, prior to the Varna meeting, and without distracting from Prague and C++20.

@AlisdairM
Copy link
Contributor Author

Missed post-prague, but expect a paper with detailed examples for reference for future library wording too in plenty of time for the pre-Varna mailing.

@AlisdairM
Copy link
Contributor Author

AlisdairM commented Apr 25, 2020

The paper was in the April mailing: http://wg21.link/P2150
P2150 Down with typename in the library! cplusplus/papers#862
Using wg21.link reference so we will get a 'live' link to any updates following LWG feedback.

@jensmaurer jensmaurer changed the title Eliminate redundant use of typename throughout library Eliminate redundant use of typename throughout library P2150 May 23, 2020
@zhihaoy
Copy link
Contributor

zhihaoy commented Jan 18, 2022

All typename in "= typename" can be removed.

@AlisdairM
Copy link
Contributor Author

This is not going to happen for C++23. The target should be updated to C++26 (or later?)

@jensmaurer jensmaurer modified the milestones: C++23, C++26 Mar 28, 2023
@jensmaurer
Copy link
Member

Milestone adjusted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
big An issue causing a large set of changes, scattered across most of the text. lwg Issue must be reviewed by LWG.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants