Comment # 2 on bug 1225536 from Marcus Rückert
even with -std=c++14 it fails:

```
g++ -I. -I/usr/include/ruby-3.3.0/x86_64-linux-gnu
-I/usr/include/ruby-3.3.0/ruby/backward -I/usr/include/ruby-3.3.0 -I.   
-DHAVE_UNICODE_UCNV_H   -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3
-fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables
-fstack-clash-protection -Werror=return-type -flto=auto -g -fno-strict-aliasing
-fPIC -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong
-funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection
-Werror=return-type -flto=auto -g    -std=c++14  -o transliterator.o -c
transliterator.cpp
In file included from /usr/include/unicode/unistr.h:39,
                 from /usr/include/unicode/translit.h:27,
                 from transliterator.cpp:5:
/usr/include/unicode/stringpiece.h:134:23: error: 'is_same_v' is not a member
of 'std'; did you mean 'is_same'?
  134 |                 (std::is_same_v<decltype(T().data()), const char*>
      |                       ^~~~~~~~~
      |                       is_same
/usr/include/unicode/stringpiece.h:134:66: error: template argument 1 is
invalid
  134 |                 (std::is_same_v<decltype(T().data()), const char*>
      |                                                                  ^
/usr/include/unicode/stringpiece.h:138:17: error: expected '>' before ')' token
  138 |                 ) &&
      |                 ^
/usr/include/unicode/stringpiece.h:138:17: error: expected unqualified-id
before ')' token
In file included from /usr/include/unicode/uenum.h:25,
                 from /usr/include/unicode/utrans.h:22,
                 from /usr/include/unicode/translit.h:29:
/usr/include/unicode/localpointer.h:561:26: error: 'auto' parameter not
permitted in this context
  561 | template <typename Type, auto closeFunction>
      |                          ^~~~
/usr/include/unicode/localpointer.h:573:76: error: template argument 2 is
invalid
  573 |     explicit LocalOpenPointer(std::unique_ptr<Type,
decltype(closeFunction)> &&p)
      |                                                                        
   ^
/usr/include/unicode/localpointer.h:583:78: error: template argument 2 is
invalid
  583 |     LocalOpenPointer &operator=(std::unique_ptr<Type,
decltype(closeFunction)> &&p) {
      |                                                                        
     ^
/usr/include/unicode/localpointer.h:599:59: error: template argument 2 is
invalid
  599 |     operator std::unique_ptr<Type, decltype(closeFunction)> () && {
      |                                                           ^
/usr/include/unicode/uenum.h:69:1: note: invalid template non-type parameter
   69 | U_DEFINE_LOCAL_OPEN_POINTER(LocalUEnumerationPointer, UEnumeration,
uenum_close);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/unicode/uset.h:358:1: note: invalid template non-type parameter
  358 | U_DEFINE_LOCAL_OPEN_POINTER(LocalUSetPointer, USet, uset_close);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/unicode/utrans.h:258:1: note: invalid template non-type parameter
  258 | U_DEFINE_LOCAL_OPEN_POINTER(LocalUTransliteratorPointer,
UTransliterator, utrans_close);
```


You are receiving this mail because: