Manuel Pöter created IGNITE-24990:
-------------------------------------
Summary: MacOS C++ builds broken for bytes_view
Key: IGNITE-24990
URL: https://issues.apache.org/jira/browse/IGNITE-24990
Project: Ignite
Issue Type: Bug
Components: platforms
Reporter: Manuel Pöter
After a recent XCode update MacOS C++ builds are broken with the following
error:
```
{color:#1d1c1d}/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/string_view:300:42:
error: implicit instantiation of undefined template
'std::char_traits<std::byte>' 300 | static_assert(is_same<_CharT, typename
traits_type::char_type>::value, | ^
/Users/apolo/Work/gridgain-9/modules/gg-columnar/src/main/cpp/../../../../platforms/cpp/ignite/common/bytes_view.h:21:21:
note: in instantiation of template class 'std::basic_string_view<std::byte>'
requested here 21 | struct bytes_view : std::basic_string_view<std::byte> { | ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/char_traits.h:45:8:
note: template is declared here 45 | struct char_traits; | ^ 1 error
generated. make[2]: *** [utils/CMakeFiles/utils.dir/file_checked.cpp.o] Error 1
make[1]: *** [utils/CMakeFiles/utils.dir/all] Error 2 make[1]: *** Waiting for
unfinished jobs....{color}
```
The reason is the following deprecation (see [release
notes](https://developer.apple.com/documentation/xcode-release-notes/xcode-16_3-release-notes)):
{quote}The base template for std::char_traits has been removed. If you are
using std::char_traits with types other than char, wchar_t, char8_t, char16_t,
char32_t or a custom character type for which you specialized std::char_traits,
your code will stop working. The Standard does not mandate that a base template
is provided, and such a base template is bound to be incorrect for some types,
which could previously cause unexpected behavior while going undetected.{quote}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)