fix(android): replace std::format with std::to_string in graphicsConversions.h for C++17 compatibility #55112
+2
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This patch fixes a build failure on Android in React Native 0.83 caused by the use of
std::formatinreact/renderer/core/graphicsConversions.h. Android builds use C++17 and the Android NDK does not supportstd::format(a C++20 feature), which leads to compile/link errors (e.g., undefined symbol and missingstd::formaton Windows and other environments).The problematic line has been replaced with a C++17-compatible implementation using
std::to_string + "%".Motivation
std::formatis not available in the Android NDK’s C++17 toolchain.0.83 and potentially other versions that include this code.
This commit resolves the issue by using a supported alternative that produces the same result.
Changes
File:
ReactCommon/react/renderer/core/graphicsConversions.hBefore:
Summary:
Changelog:
Test Plan: