mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Fix builds with C++20 (#38501)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/38501 char8_t is a distinct type in C++20, which would need to be propagated everywhere else (e.g. using `std::u8string` instead of `std::string`). The code was already assuming that char is UTF-8, so we can just cast accordingly (which works on all compilers: https://godbolt.org/z/9cv4c48o4). Reviewed By: javache Differential Revision: D47537998 fbshipit-source-id: ba045483361463f1754e02791114b78f51932a56
This commit is contained in:
committed by
Facebook GitHub Bot
parent
6d1de636a6
commit
2d3348e642
+6
-1
@@ -17,7 +17,12 @@ using Fragments = AttributedString::Fragments;
|
||||
#pragma mark - Fragment
|
||||
|
||||
std::string Fragment::AttachmentCharacter() {
|
||||
return u8"\uFFFC"; // Unicode `OBJECT REPLACEMENT CHARACTER`
|
||||
// C++20 makes char8_t a distinct type from char, and u8 string literals
|
||||
// consist of char8_t instead of char, which in turn requires std::u8string,
|
||||
// etc. Here we were assuming char was UTF-8 anyway, so just cast to that
|
||||
// (which is valid because char* is allowed to alias anything).
|
||||
return reinterpret_cast<const char *>(
|
||||
u8"\uFFFC"); // Unicode `OBJECT REPLACEMENT CHARACTER`
|
||||
}
|
||||
|
||||
bool Fragment::isAttachment() const {
|
||||
|
||||
Reference in New Issue
Block a user