envoyproxy/envoy

Initial partial support for C++20 in Envoy

Open

#15.874 aperta il 7 apr 2021

Vedi su GitHub
 (10 commenti) (0 reazioni) (0 assegnatari)C++ (5373 fork)batch import
design proposalhelp wanted

Metriche repository

Star
 (27.997 star)
Metriche merge PR
 (Merge medio 8g) (378 PR mergiate in 30 g)

Descrizione

Initial partial support for C++20 in Envoy

Description:

Context: The latest standard version ratified and published by ISO in December of 2020 as ISO/IEC 14882:2020 (informally known as C++20) —a very significant update over C++17—is widely (but not yet fully) supported by major compilers such as gcc-10 and clang-10. C++20 is already being used as the standard version by some companies and this number will continue to increase as time passes, so an optional C++20 compatible version of Envoy would be needed.

What we're proposing: Supporting C++20 by making the necessary changes, implementing the new features for better compatibility, and replacing deprecated features. We will be making these changes in a modular way as to not make the change so abrupt. We'll be starting with "unpopular" modules (those which are not widely used) and modules which require just a few changes to be fully compatible with C++20.

  • Ideas & suggestions on how to split up the PRs would be very helpful. Thanks.

Guida contributor