Skip to content

error: implicit instantiation of undefined template 'std::char_traits<unsigned int>' #225

@daeho-ro

Description

@daeho-ro

Hello,

When this package is build with Xcode 16.3, it gets an error

  /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/c++/v1/string_view:300:42: error: implicit instantiation of undefined template 'std::char_traits<unsigned int>'
    300 |   static_assert(is_same<_CharT, typename traits_type::char_type>::value,
        |                                          ^
  ../dlib/dlib/matrix/../unicode/unicode.h:508:16: note: in instantiation of template class 'std::basic_string_view<unsigned int>' requested here
    508 |         return temp;
        |                ^
  ../dlib/dlib/matrix/../unicode/unicode.h:508:16: note: while substituting deduced template arguments into function template 'basic_string' [with $0 = (no value)]
  /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/c++/v1/__fwd/string.h:23:29: note: template is declared here
     23 | struct _LIBCPP_TEMPLATE_VIS char_traits;
        |                             ^
  ../dlib/dlib/unicode/unicode.h../dlib/dlib/unicode/unicode.h::490490::2626::  note: note: in instantiation of template class 'std::basic_string<unsigned int>' requested herein instantiation of template class 'std::basic_string<unsigned int>' requested here
  
  ../dlib/dlib/matrix/../unicode/unicode.h:490:  490 |  26: note: in instantiation of template class 'std::basic_string<unsigned int>' requested here
    490 |   490 |     inline const ustring    inline co convert_utf8_to_utf32 (
        |                          ^
  /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/c++/v1/__fwd/string.h:23:29: note: template is declared here
     23 | stru   nst ustrininline ccot _LIBCPP_TEMPLATE_VIS char_traits;
        |                             ^
  g convert_utf8_to_utf32 (
        |                          ^
  nst ustring convert_utf8_to_utf32 (
        |                          ^
  /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/c++/v1/__fwd/string.h:23:29: note: template is declared here
     23 | struct _LIB/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/c++/v1/__fwd/string.hC:P23P:_29T:E Mnote: Ptemplate is declared hereL
  ATE_   23 | struct _LIBCPP_TEMPLATE_VIS char_traits;
        |                             ^
  VIS char_traits;
        |                             ^

and fine with Xcode 16.4 or others. It seems that the LLVM removed std::char_traits's base template and rollback, but eventually planed to remove again, so this need to be fixed.

Can you check?
Thanks,

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions