Breaking: Use C++ 20 #1382
Reference in New Issue
Block a user
No description provided.
Delete Branch "export-D49261607"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary:
X-link: https://github.com/facebook/react-native/pull/39437
Have been running into places where C++ 20 makes life easier for use like
std::bit_cast
(that one is easy to polyfill), in-class member initializer support for bitfields, designated initializers, defaulted comparison operator, concepts instead of SFINAE, and probably more.Our other infra is in the process of making this jump, or already has. This tests it out everywhere, across the various reference builds, to see if we have any issues.
This is a bit more aggressive than I had previously communicated, but n - 1 is going to be a better long term place than n - 2.
If we wanted to use
std::bit_cast
we would need one of:For mobile this means:
https://en.cppreference.com/w/cpp/compiler_support/20
That isn't quite doable yet, but we can start taking advantage of language features in the meantime. More of these will be supported in older toolchains.
Anyone needing support for older C++ versions can lag behind on more recent changes. E.g. Yoga 2.0 supports C++ 14.
Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request was exported from Phabricator. Differential Revision: D49261607
This pull request has been merged in facebook/yoga@557d2a76fe.
Pull request closed