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

Breaking: Use C++ 20 #1382

Closed
wants to merge 1 commit into from

Conversation

NickGerleman
Copy link
Contributor

@NickGerleman NickGerleman commented Sep 14, 2023

Summary:
X-link: facebook/react-native#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:

  1. GCC 11+ (~2.5 years old)
  2. Clang 14 (~2.5 years old)
  3. VS 16.11 (~2 years old)

For mobile this means:

  1. NDK 26 (still in Beta 😭)
  2. XCode 14.3.0 (~6 months old)

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

@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D49261607

NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Sep 14, 2023
Summary:
X-link: facebook/yoga#1382


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:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

For mobile this means:
1. NDK 26 (still in Beta 😭)
1. XCode 14.3.0 (~6 months old)

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
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Sep 14, 2023
Summary:
X-link: facebook/yoga#1382


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:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

For mobile this means:
1. NDK 26 (still in Beta 😭)
1. XCode 14.3.0 (~6 months old)

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
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Sep 14, 2023
Summary:
X-link: facebook/yoga#1382


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:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

For mobile this means:
1. NDK 26 (still in Beta 😭)
1. XCode 14.3.0 (~6 months old)

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
NickGerleman added a commit to NickGerleman/yoga that referenced this pull request Sep 14, 2023
Summary:

X-link: facebook/react-native#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:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

For mobile this means:
1. NDK 26 (still in Beta 😭)
1. XCode 14.3.0 (~6 months old)

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
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D49261607

NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Sep 14, 2023
Summary:
X-link: facebook/yoga#1382

Pull Request resolved: facebook#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.

Accounting for bundled STL, and using `bit_cast` as a reference feature, I think this means we require one of:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

On mobile, the Clang 14 requirement translates to needing one of:
1. NDK 25 (~1 year old)
1. XCode 14.2.0 (~1 year old)

https://en.cppreference.com/w/cpp/compiler_support/20

I think it is likely everything will be buildable for a while under Clang 10 (released 3.5 years ago), GCC 11 (releaseed 3.5 years ago), and .

Anyone needing support for older C++ versions can lag behind on more recent changes. E.g. Yoga 2.0 supports C++ 14.

Differential Revision: https://internalfb.com/D49261607

fbshipit-source-id: f6eddcfdc9e21ffaf76a72b61fff319388342ded
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Sep 14, 2023
Summary:
X-link: facebook/yoga#1382

Pull Request resolved: facebook#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.

Accounting for bundled STL, and using `bit_cast` as a reference feature, I think this means we require one of:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

On mobile, the Clang 14 requirement translates to needing one of:
1. NDK 25 (~1 year old)
1. XCode 14.2.0 (~1 year old)

https://en.cppreference.com/w/cpp/compiler_support/20

I think it is likely everything will be buildable for a while under Clang 10 (released 3.5 years ago), GCC 11 (releaseed 3.5 years ago), and .

Anyone needing support for older C++ versions can lag behind on more recent changes. E.g. Yoga 2.0 supports C++ 14.

Differential Revision: https://internalfb.com/D49261607

fbshipit-source-id: f6bd52448286bd2b4fc9f64c5a421eba89c9c99b
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Sep 14, 2023
Summary:
X-link: facebook/yoga#1382

Pull Request resolved: facebook#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.

Accounting for bundled STL, and using `bit_cast` as a reference feature, I think this means we require one of:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

On mobile, the Clang 14 requirement translates to needing one of:
1. NDK 25 (~1 year old)
1. XCode 14.2.0 (~1 year old)

https://en.cppreference.com/w/cpp/compiler_support/20

I think it is likely everything will be buildable for a while under Clang 10 (released 3.5 years ago), GCC 11 (releaseed 3.5 years ago), and .

Anyone needing support for older C++ versions can lag behind on more recent changes. E.g. Yoga 2.0 supports C++ 14.

Differential Revision: https://internalfb.com/D49261607

fbshipit-source-id: c212923ddcf3ca6bfe0d8e7f0534f1e60618dc2d
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Sep 14, 2023
Summary:
X-link: facebook/yoga#1382

Pull Request resolved: facebook#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.

Accounting for bundled STL, and using `bit_cast` as a reference feature, I think this means we require one of:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

On mobile, the Clang 14 requirement translates to needing one of:
1. NDK 25 (~1 year old)
1. XCode 14.2.0 (~1 year old)

https://en.cppreference.com/w/cpp/compiler_support/20

I think it is likely everything will be buildable for a while under Clang 10 (released 3.5 years ago), GCC 11 (releaseed 3.5 years ago), and .

Anyone needing support for older C++ versions can lag behind on more recent changes. E.g. Yoga 2.0 supports C++ 14.

Differential Revision: https://internalfb.com/D49261607

fbshipit-source-id: 883e00e99417bd1cc666d1419ebaaf1d063f9368
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Sep 14, 2023
Summary:
X-link: facebook/yoga#1382

Pull Request resolved: facebook#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.

Accounting for bundled STL, and using `bit_cast` as a reference feature, I think this means we require one of:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

On mobile, the Clang 14 requirement translates to needing one of:
1. NDK 25 (~1 year old)
1. XCode 14.2.0 (~1 year old)

https://en.cppreference.com/w/cpp/compiler_support/20

I think it is likely everything will be buildable for a while under Clang 10 (released 3.5 years ago), GCC 11 (releaseed 3.5 years ago), and .

Anyone needing support for older C++ versions can lag behind on more recent changes. E.g. Yoga 2.0 supports C++ 14.

Differential Revision: https://internalfb.com/D49261607

fbshipit-source-id: 2f9fe1c4d68754fc4a61661a759f1960dd3e7d0d
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Sep 14, 2023
Summary:
X-link: facebook/yoga#1382

Pull Request resolved: facebook#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.

Accounting for bundled STL, and using `bit_cast` as a reference feature, I think this means we require one of:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

On mobile, the Clang 14 requirement translates to needing one of:
1. NDK 25 (~1 year old)
1. XCode 14.2.0 (~1 year old)

https://en.cppreference.com/w/cpp/compiler_support/20

I think it is likely everything will be buildable for a while under Clang 10 (released 3.5 years ago), GCC 11 (releaseed 3.5 years ago), and .

Anyone needing support for older C++ versions can lag behind on more recent changes. E.g. Yoga 2.0 supports C++ 14.

Differential Revision: https://internalfb.com/D49261607

fbshipit-source-id: acca21d531a8b494de3cde1fe7dd33fd1fedb367
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Sep 14, 2023
Summary:
X-link: facebook/yoga#1382

Pull Request resolved: facebook#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.

Accounting for bundled STL, and using `bit_cast` as a reference feature, I think this means we require one of:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

On mobile, the Clang 14 requirement translates to needing one of:
1. NDK 25 (~1 year old)
1. XCode 14.2.0 (~1 year old)

https://en.cppreference.com/w/cpp/compiler_support/20

I think it is likely everything will be buildable for a while under Clang 10 (released 3.5 years ago), GCC 11 (releaseed 3.5 years ago), and .

Anyone needing support for older C++ versions can lag behind on more recent changes. E.g. Yoga 2.0 supports C++ 14.

Differential Revision: https://internalfb.com/D49261607

fbshipit-source-id: 6d0fd2478e2dcf38f8b96a5fae6e1f4ae3bbd18b
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Sep 14, 2023
Summary:
X-link: facebook/yoga#1382

Pull Request resolved: facebook#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.

Accounting for bundled STL, and using `bit_cast` as a reference feature, I think this means we require one of:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

On mobile, the Clang 14 requirement translates to needing one of:
1. NDK 25 (~1 year old)
1. XCode 14.2.0 (~1 year old)

https://en.cppreference.com/w/cpp/compiler_support/20

I think it is likely everything will be buildable for a while under Clang 10 (released 3.5 years ago), GCC 11 (releaseed 3.5 years ago), and .

Anyone needing support for older C++ versions can lag behind on more recent changes. E.g. Yoga 2.0 supports C++ 14.

Differential Revision: https://internalfb.com/D49261607

fbshipit-source-id: 222cb335809d269b8fb1ca7eab82ce5f9975ac12
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Sep 14, 2023
Summary:
X-link: facebook/yoga#1382

Pull Request resolved: facebook#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.

Accounting for bundled STL, and using `bit_cast` as a reference feature, I think this means we require one of:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

On mobile, the Clang 14 requirement translates to needing one of:
1. NDK 25 (~1 year old)
1. XCode 14.2.0 (~1 year old)

https://en.cppreference.com/w/cpp/compiler_support/20

I think it is likely everything will be buildable for a while under Clang 10 (released 3.5 years ago), GCC 11 (releaseed 3.5 years ago), and .

Anyone needing support for older C++ versions can lag behind on more recent changes. E.g. Yoga 2.0 supports C++ 14.

Differential Revision: https://internalfb.com/D49261607

fbshipit-source-id: 7c12bfafc67c2c3506f81f37c11ba06352a6ea7e
NickGerleman added a commit to NickGerleman/yoga that referenced this pull request Sep 15, 2023
Summary:
Pull Request resolved: facebook#1382

X-link: facebook/react-native#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.

Accounting for bundled STL, and using `bit_cast` as a reference feature, I think this means we require one of:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

On mobile, the Clang 14 requirement translates to needing one of:
1. NDK 25 (~1 year old)
1. XCode 14.2.0 (~1 year old)

https://en.cppreference.com/w/cpp/compiler_support/20

I think it is likely everything will be buildable for a while under Clang 10 (released 3.5 years ago), GCC 11 (releaseed 3.5 years ago), and .

Anyone needing support for older C++ versions can lag behind on more recent changes. E.g. Yoga 2.0 supports C++ 14.

Differential Revision: https://internalfb.com/D49261607

fbshipit-source-id: 7d7a2c135424b45460f0ebed3004cd63e02e9faf
NickGerleman added a commit to NickGerleman/yoga that referenced this pull request Sep 15, 2023
Summary:
Pull Request resolved: facebook#1382

X-link: facebook/react-native#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.

Accounting for bundled STL, and using `bit_cast` as a reference feature, I think this means we require one of:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

On mobile, the Clang 14 requirement translates to needing one of:
1. NDK 25 (~1 year old)
1. XCode 14.2.0 (~1 year old)

https://en.cppreference.com/w/cpp/compiler_support/20

I think it is likely everything will be buildable for a while under Clang 10 (released 3.5 years ago), GCC 11 (releaseed 3.5 years ago), and .

Anyone needing support for older C++ versions can lag behind on more recent changes. E.g. Yoga 2.0 supports C++ 14.

Differential Revision: https://internalfb.com/D49261607

fbshipit-source-id: 088f57a1fddb7eed32964454c76ce85e00a663ab
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D49261607

NickGerleman added a commit to NickGerleman/yoga that referenced this pull request Sep 15, 2023
Summary:
Pull Request resolved: facebook#1382

X-link: facebook/react-native#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:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

For mobile this means:
1. NDK 26 (still in Beta 😭)
1. XCode 14.3.0 (~6 months old)

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.

Changelog: [Internal]

Differential Revision: D49261607

fbshipit-source-id: 7536c41ad732fd397e3dfbc06e9c16c1d37fd52d
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Sep 15, 2023
Summary:
X-link: facebook/yoga#1382

Pull Request resolved: facebook#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:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

For mobile this means:
1. NDK 26 (still in Beta 😭)
1. XCode 14.3.0 (~6 months old)

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.

Changelog: [Internal]

Differential Revision: D49261607

fbshipit-source-id: ace8d1d19b7dc4a356dad5657084e70f47d5acb2
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Sep 15, 2023
Summary:
X-link: facebook/yoga#1382

Pull Request resolved: facebook#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.

Accounting for bundled STL, and using `bit_cast` as a reference feature, I think this means we require one of:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

On mobile, the Clang 14 requirement translates to needing one of:
1. NDK 25 (~1 year old)
1. XCode 14.2.0 (~1 year old)

https://en.cppreference.com/w/cpp/compiler_support/20

I think it is likely everything will be buildable for a while under Clang 10 (released 3.5 years ago), GCC 11 (releaseed 3.5 years ago), and .

Anyone needing support for older C++ versions can lag behind on more recent changes. E.g. Yoga 2.0 supports C++ 14.

Differential Revision: https://internalfb.com/D49261607

fbshipit-source-id: dd6edd368f98a30245341990771e98586e394c87
NickGerleman added a commit to NickGerleman/yoga that referenced this pull request Sep 15, 2023
Summary:
Pull Request resolved: facebook#1382

X-link: facebook/react-native#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.

Accounting for bundled STL, and using `bit_cast` as a reference feature, I think this means we require one of:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

On mobile, the Clang 14 requirement translates to needing one of:
1. NDK 25 (~1 year old)
1. XCode 14.2.0 (~1 year old)

https://en.cppreference.com/w/cpp/compiler_support/20

I think it is likely everything will be buildable for a while under Clang 10 (released 3.5 years ago), GCC 11 (releaseed 3.5 years ago), and .

Anyone needing support for older C++ versions can lag behind on more recent changes. E.g. Yoga 2.0 supports C++ 14.

Differential Revision: https://internalfb.com/D49261607

fbshipit-source-id: 0c13ec08a0b5890124a0f8fce69bd9c8e538f415
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Sep 15, 2023
Summary:
X-link: facebook/yoga#1382

Pull Request resolved: facebook#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.

Accounting for bundled STL, and using `bit_cast` as a reference feature, I think this means we require one of:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

On mobile, the Clang 14 requirement translates to needing one of:
1. NDK 25 (~1 year old)
1. XCode 14.2.0 (~1 year old)

https://en.cppreference.com/w/cpp/compiler_support/20

I think it is likely everything will be buildable for a while under Clang 10 (released 3.5 years ago), GCC 11 (releaseed 3.5 years ago), and .

Anyone needing support for older C++ versions can lag behind on more recent changes. E.g. Yoga 2.0 supports C++ 14.

Differential Revision: https://internalfb.com/D49261607

fbshipit-source-id: 57842ff4a0bb218bba78d0cadc4fb5269b414c57
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Sep 15, 2023
Summary:
X-link: facebook/yoga#1382

Pull Request resolved: facebook#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.

Accounting for bundled STL, and using `bit_cast` as a reference feature, I think this means we require one of:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

On mobile, the Clang 14 requirement translates to needing one of:
1. NDK 25 (~1 year old)
1. XCode 14.2.0 (~1 year old)

https://en.cppreference.com/w/cpp/compiler_support/20

I think it is likely everything will be buildable for a while under Clang 10 (released 3.5 years ago), GCC 11 (releaseed 3.5 years ago), and .

Anyone needing support for older C++ versions can lag behind on more recent changes. E.g. Yoga 2.0 supports C++ 14.

Differential Revision: https://internalfb.com/D49261607

fbshipit-source-id: ad7927b8cdc5770522f9398e930a90e628d81927
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D49261607

NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Sep 16, 2023
Summary:
X-link: facebook/yoga#1382

Pull Request resolved: facebook#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.

Accounting for bundled STL, and using `bit_cast` as a reference feature, I think this means we require one of:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

On mobile, the Clang 14 requirement translates to needing one of:
1. NDK 25 (~1 year old)
1. XCode 14.2.0 (~1 year old)

https://en.cppreference.com/w/cpp/compiler_support/20

I think it is likely everything will be buildable for a while under Clang 10 (released 3.5 years ago), GCC 11 (releaseed 3.5 years ago), and .

Anyone needing support for older C++ versions can lag behind on more recent changes. E.g. Yoga 2.0 supports C++ 14.

Differential Revision: https://internalfb.com/D49261607

fbshipit-source-id: 5acb96845be5f7ced9235ca79b6732ed13e901cb
NickGerleman added a commit to NickGerleman/yoga that referenced this pull request Sep 19, 2023
Summary:
Pull Request resolved: facebook#1382

X-link: facebook/react-native#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:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

For mobile this means:
1. NDK 26 (still in Beta 😭)
1. XCode 14.3.0 (~6 months old)

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.

Changelog: [Internal]

Differential Revision: https://www.internalfb.com/diff/D49261607?entry_point=27

fbshipit-source-id: 6daab45bff10a3331f9e02736a55a403f9ca63a1
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D49261607

NickGerleman added a commit to NickGerleman/yoga that referenced this pull request Sep 19, 2023
Summary:
Pull Request resolved: facebook#1382

X-link: facebook/react-native#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:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

For mobile this means:
1. NDK 26 (still in Beta 😭)
1. XCode 14.3.0 (~6 months old)

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.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D49261607

fbshipit-source-id: acb5d8122dfd6b9e6701d897cfad7ffed270f4ab
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D49261607

NickGerleman added a commit to NickGerleman/yoga that referenced this pull request Sep 19, 2023
Summary:
Pull Request resolved: facebook#1382

X-link: facebook/react-native#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:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

For mobile this means:
1. NDK 26 (still in Beta 😭)
1. XCode 14.3.0 (~6 months old)

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.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D49261607

fbshipit-source-id: a00302dfe80040890c5a12cd45d520a54ab6eb44
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D49261607

NickGerleman added a commit to NickGerleman/yoga that referenced this pull request Sep 19, 2023
Summary:
Pull Request resolved: facebook#1382

X-link: facebook/react-native#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:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

For mobile this means:
1. NDK 26 (still in Beta 😭)
1. XCode 14.3.0 (~6 months old)

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.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D49261607

fbshipit-source-id: eb877710264df13863d7244c10c71b89e9d0185f
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D49261607

NickGerleman added a commit to NickGerleman/yoga that referenced this pull request Sep 19, 2023
Summary:
Pull Request resolved: facebook#1382

X-link: facebook/react-native#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:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

For mobile this means:
1. NDK 26 (still in Beta 😭)
1. XCode 14.3.0 (~6 months old)

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.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D49261607

fbshipit-source-id: cf0dbe92edb9886f39daeaf81158c940640bd542
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D49261607

NickGerleman added a commit to NickGerleman/yoga that referenced this pull request Sep 19, 2023
Summary:
Pull Request resolved: facebook#1382

X-link: facebook/react-native#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:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

For mobile this means:
1. NDK 26 (still in Beta 😭)
1. XCode 14.3.0 (~6 months old)

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.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D49261607

fbshipit-source-id: db0d8ce113fe3c0411eb813d29de0decfa3bad45
NickGerleman added a commit to NickGerleman/yoga that referenced this pull request Sep 19, 2023
Summary:
Pull Request resolved: facebook#1382

X-link: facebook/react-native#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:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

For mobile this means:
1. NDK 26 (still in Beta 😭)
1. XCode 14.3.0 (~6 months old)

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.

Changelog: [Internal]

Differential Revision: https://www.internalfb.com/diff/D49261607?entry_point=27

fbshipit-source-id: 861cf8850f5d10794fc0db33cdd1307fbb3852b3
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D49261607

NickGerleman added a commit to NickGerleman/yoga that referenced this pull request Sep 19, 2023
Summary:
Pull Request resolved: facebook#1382

X-link: facebook/react-native#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:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

For mobile this means:
1. NDK 26 (still in Beta 😭)
1. XCode 14.3.0 (~6 months old)

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.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D49261607

fbshipit-source-id: 1dc1d58005074d7355c4ae03669e75f7832e1efd
NickGerleman added a commit to NickGerleman/yoga that referenced this pull request Sep 19, 2023
Summary:
Pull Request resolved: facebook#1382

X-link: facebook/react-native#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:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

For mobile this means:
1. NDK 26 (still in Beta 😭)
1. XCode 14.3.0 (~6 months old)

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.

bypass-github-export-checks

Changelog: [Internal]

Differential Revision: https://internalfb.com/D49261607

fbshipit-source-id: 660e510e884c89c0b12e5432dbb19bbb968928b4
Summary:
Pull Request resolved: facebook#1382

X-link: facebook/react-native#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:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

For mobile this means:
1. NDK 26 (still in Beta 😭)
1. XCode 14.3.0 (~6 months old)

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.

bypass-github-export-checks

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D49261607

fbshipit-source-id: 38301204d56b7bc8410c2dda9c291da1b8d61ec1
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D49261607

@facebook-github-bot
Copy link
Contributor

This pull request has been merged in 557d2a7.

facebook-github-bot pushed a commit to facebook/react-native that referenced this pull request Sep 19, 2023
Summary:
X-link: facebook/yoga#1382

Pull Request resolved: #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:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

For mobile this means:
1. NDK 26 (still in Beta 😭)
1. XCode 14.3.0 (~6 months old)

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.

bypass-github-export-checks

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D49261607

fbshipit-source-id: ceb06eac20dfe93352d7b796d6847a7314069cf3
facebook-github-bot pushed a commit to facebook/litho that referenced this pull request Sep 19, 2023
Summary:
X-link: facebook/yoga#1382

X-link: facebook/react-native#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:
1. GCC 11+ (~2.5 years old)
1. Clang 14 (~2.5 years old)
1. VS 16.11 (~2 years old)

For mobile this means:
1. NDK 26 (still in Beta 😭)
1. XCode 14.3.0 (~6 months old)

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.

bypass-github-export-checks

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D49261607

fbshipit-source-id: ceb06eac20dfe93352d7b796d6847a7314069cf3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants