* installing *source* package ‘s2’ ...
** package ‘s2’ successfully unpacked and MD5 sums checked
** using staged installation
Found pkg-config cflags and libs!
Testing compiler using PKG_CFLAGS=
Using PKG_LIBS=-l:libssl.so.3 -l:libcrypto.so.3 
Using PKG_CFLAGS= -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN
** libs
using C compiler: ‘clang version 18.1.7’
using C++ compiler: ‘clang version 18.1.7’
using C++11
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-clang/s2/src'
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/base/internal/cycleclock.cc -o absl/base/internal/cycleclock.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/base/internal/low_level_alloc.cc -o absl/base/internal/low_level_alloc.o
In file included from absl/base/internal/low_level_alloc.cc:24:
In file included from ../src/absl/base/call_once.h:34:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/base/internal/raw_logging.cc -o absl/base/internal/raw_logging.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/base/internal/scoped_set_env.cc -o absl/base/internal/scoped_set_env.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/base/internal/spinlock_wait.cc -o absl/base/internal/spinlock_wait.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/base/internal/spinlock.cc -o absl/base/internal/spinlock.o
In file included from absl/base/internal/spinlock.cc:27:
In file included from ../src/absl/base/call_once.h:34:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/base/internal/strerror.cc -o absl/base/internal/strerror.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/base/internal/sysinfo.cc -o absl/base/internal/sysinfo.o
In file included from absl/base/internal/sysinfo.cc:53:
In file included from ../src/absl/base/call_once.h:34:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/base/internal/thread_identity.cc -o absl/base/internal/thread_identity.o
In file included from absl/base/internal/thread_identity.cc:27:
In file included from ../src/absl/base/call_once.h:34:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/base/internal/throw_delegate.cc -o absl/base/internal/throw_delegate.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/base/internal/unscaledcycleclock.cc -o absl/base/internal/unscaledcycleclock.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/base/log_severity.cc -o absl/base/log_severity.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/container/internal/hashtablez_sampler_force_weak_definition.cc -o absl/container/internal/hashtablez_sampler_force_weak_definition.o
In file included from absl/container/internal/hashtablez_sampler_force_weak_definition.cc:15:
In file included from ../src/absl/container/internal/hashtablez_sampler.h:52:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/container/internal/hashtablez_sampler.cc -o absl/container/internal/hashtablez_sampler.o
In file included from absl/container/internal/hashtablez_sampler.cc:15:
In file included from ../src/absl/container/internal/hashtablez_sampler.h:52:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/container/internal/raw_hash_set.cc -o absl/container/internal/raw_hash_set.o
In file included from absl/container/internal/raw_hash_set.cc:15:
In file included from ../src/absl/container/internal/raw_hash_set.h:187:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/container/internal/raw_hash_set.cc:15:
In file included from ../src/absl/container/internal/raw_hash_set.h:187:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/container/internal/raw_hash_set.cc:15:
In file included from ../src/absl/container/internal/raw_hash_set.h:187:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/container/internal/raw_hash_set.cc:15:
In file included from ../src/absl/container/internal/raw_hash_set.h:187:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/container/internal/raw_hash_set.cc:15:
In file included from ../src/absl/container/internal/raw_hash_set.h:187:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/container/internal/raw_hash_set.cc:15:
In file included from ../src/absl/container/internal/raw_hash_set.h:187:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/container/internal/raw_hash_set.cc:15:
In file included from ../src/absl/container/internal/raw_hash_set.h:187:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/container/internal/raw_hash_set.cc:15:
In file included from ../src/absl/container/internal/raw_hash_set.h:187:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/container/internal/raw_hash_set.cc:15:
In file included from ../src/absl/container/internal/raw_hash_set.h:187:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/container/internal/raw_hash_set.cc:15:
In file included from ../src/absl/container/internal/raw_hash_set.h:187:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/container/internal/raw_hash_set.cc:15:
In file included from ../src/absl/container/internal/raw_hash_set.h:187:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/container/internal/raw_hash_set.cc:15:
In file included from ../src/absl/container/internal/raw_hash_set.h:187:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
23 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/debugging/failure_signal_handler.cc -o absl/debugging/failure_signal_handler.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/debugging/internal/address_is_readable.cc -o absl/debugging/internal/address_is_readable.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/debugging/internal/demangle.cc -o absl/debugging/internal/demangle.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/debugging/internal/elf_mem_image.cc -o absl/debugging/internal/elf_mem_image.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/debugging/internal/examine_stack.cc -o absl/debugging/internal/examine_stack.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/debugging/internal/stack_consumption.cc -o absl/debugging/internal/stack_consumption.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/debugging/internal/vdso_support.cc -o absl/debugging/internal/vdso_support.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/debugging/leak_check.cc -o absl/debugging/leak_check.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/debugging/stacktrace.cc -o absl/debugging/stacktrace.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/debugging/symbolize.cc -o absl/debugging/symbolize.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/numeric/int128.cc -o absl/numeric/int128.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/profiling/internal/exponential_biased.cc -o absl/profiling/internal/exponential_biased.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/profiling/internal/periodic_sampler.cc -o absl/profiling/internal/periodic_sampler.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/ascii.cc -o absl/strings/ascii.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/charconv.cc -o absl/strings/charconv.o
In file included from absl/strings/charconv.cc:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = double, Source = uint64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
absl/strings/charconv.cc:127:12: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = double, Source = uint64_t, $2 = (no value)]
  127 |     return absl::bit_cast<double>(dbl);
      |            ^
In file included from absl/strings/charconv.cc:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = double, Source = uint64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
absl/strings/charconv.cc:127:12: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = double, Source = uint64_t, $2 = (no value)]
  127 |     return absl::bit_cast<double>(dbl);
      |            ^
In file included from absl/strings/charconv.cc:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = double, Source = uint64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
absl/strings/charconv.cc:127:12: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = double, Source = uint64_t, $2 = (no value)]
  127 |     return absl::bit_cast<double>(dbl);
      |            ^
In file included from absl/strings/charconv.cc:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = double, Source = uint64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
absl/strings/charconv.cc:127:12: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = double, Source = uint64_t, $2 = (no value)]
  127 |     return absl::bit_cast<double>(dbl);
      |            ^
In file included from absl/strings/charconv.cc:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = float, Source = uint32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
absl/strings/charconv.cc:167:12: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = float, Source = uint32_t, $2 = (no value)]
  167 |     return absl::bit_cast<float>(flt);
      |            ^
In file included from absl/strings/charconv.cc:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = float, Source = uint32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
absl/strings/charconv.cc:167:12: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = float, Source = uint32_t, $2 = (no value)]
  167 |     return absl::bit_cast<float>(flt);
      |            ^
In file included from absl/strings/charconv.cc:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = float, Source = uint32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
absl/strings/charconv.cc:167:12: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = float, Source = uint32_t, $2 = (no value)]
  167 |     return absl::bit_cast<float>(flt);
      |            ^
In file included from absl/strings/charconv.cc:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = float, Source = uint32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
absl/strings/charconv.cc:167:12: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = float, Source = uint32_t, $2 = (no value)]
  167 |     return absl::bit_cast<float>(flt);
      |            ^
17 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/cord_analysis.cc -o absl/strings/cord_analysis.o
In file included from absl/strings/cord_analysis.cc:15:
In file included from ../src/absl/strings/cord_analysis.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/cord_analysis.cc:15:
In file included from ../src/absl/strings/cord_analysis.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/cord_analysis.cc:15:
In file included from ../src/absl/strings/cord_analysis.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/cord_analysis.cc:15:
In file included from ../src/absl/strings/cord_analysis.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/cord_analysis.cc:15:
In file included from ../src/absl/strings/cord_analysis.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/cord_analysis.cc:15:
In file included from ../src/absl/strings/cord_analysis.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/cord_analysis.cc:15:
In file included from ../src/absl/strings/cord_analysis.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/cord_analysis.cc:15:
In file included from ../src/absl/strings/cord_analysis.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/cord_analysis.cc:15:
In file included from ../src/absl/strings/cord_analysis.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/cord_analysis.cc:15:
In file included from ../src/absl/strings/cord_analysis.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/cord_analysis.cc:15:
In file included from ../src/absl/strings/cord_analysis.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/cord_analysis.cc:15:
In file included from ../src/absl/strings/cord_analysis.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/cord_buffer.cc -o absl/strings/cord_buffer.o
23 warnings generated.
In file included from absl/strings/cord_buffer.cc:15:
In file included from ../src/absl/strings/cord_buffer.h:37:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/cord_buffer.cc:15:
In file included from ../src/absl/strings/cord_buffer.h:37:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/cord_buffer.cc:15:
In file included from ../src/absl/strings/cord_buffer.h:37:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/cord_buffer.cc:15:
In file included from ../src/absl/strings/cord_buffer.h:37:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/cord_buffer.cc:15:
In file included from ../src/absl/strings/cord_buffer.h:37:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/cord_buffer.cc:15:
In file included from ../src/absl/strings/cord_buffer.h:37:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/cord_buffer.cc:15:
In file included from ../src/absl/strings/cord_buffer.h:37:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/cord_buffer.cc:15:
In file included from ../src/absl/strings/cord_buffer.h:37:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/cord_buffer.cc:15:
In file included from ../src/absl/strings/cord_buffer.h:37:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/cord_buffer.cc:15:
In file included from ../src/absl/strings/cord_buffer.h:37:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/cord_buffer.cc:15:
In file included from ../src/absl/strings/cord_buffer.h:37:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/cord_buffer.cc:15:
In file included from ../src/absl/strings/cord_buffer.h:37:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
23 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/cord.cc -o absl/strings/cord.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/escaping.cc -o absl/strings/escaping.o
In file included from absl/strings/cord.cc:15:
In file included from ../src/absl/strings/cord.h:75:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/cord.cc:15:
In file included from ../src/absl/strings/cord.h:75:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/cord.cc:15:
In file included from ../src/absl/strings/cord.h:75:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/cord.cc:15:
In file included from ../src/absl/strings/cord.h:75:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/cord.cc:15:
In file included from ../src/absl/strings/cord.h:75:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/cord.cc:15:
In file included from ../src/absl/strings/cord.h:75:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/cord.cc:15:
In file included from ../src/absl/strings/cord.h:75:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/cord.cc:15:
In file included from ../src/absl/strings/cord.h:75:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/cord.cc:15:
In file included from ../src/absl/strings/cord.h:75:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/cord.cc:15:
In file included from ../src/absl/strings/cord.h:75:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/cord.cc:15:
In file included from ../src/absl/strings/cord.h:75:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/cord.cc:15:
In file included from ../src/absl/strings/cord.h:75:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/cord.cc:15:
In file included from ../src/absl/strings/cord.h:75:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from absl/strings/cord.cc:15:
In file included from ../src/absl/strings/cord.h:75:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from absl/strings/escaping.cc:15:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/escaping.cc:15:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/escaping.cc:15:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/escaping.cc:15:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/escaping.cc:15:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/escaping.cc:15:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/escaping.cc:15:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/escaping.cc:15:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/escaping.cc:15:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/escaping.cc:15:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/escaping.cc:15:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/escaping.cc:15:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/cord.cc:49:
In file included from ../src/absl/strings/str_format.h:77:
In file included from ../src/absl/strings/internal/str_format/bind.h:26:
../src/absl/strings/internal/str_format/parser.h:315:11: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  315 |           enable_if(str_format_internal::EnsureConstexpr(format),
      |           ^
../src/absl/strings/internal/str_format/parser.h:317:11: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  317 |           enable_if(str_format_internal::ValidFormatImpl<C...>(format),
      |           ^
In file included from absl/strings/cord.cc:49:
In file included from ../src/absl/strings/str_format.h:77:
../src/absl/strings/internal/str_format/bind.h:139:11: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  139 |           enable_if(str_format_internal::EnsureConstexpr(s), "constexpr trap"),
      |           ^
../src/absl/strings/internal/str_format/bind.h:145:22: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  145 |       __attribute__((enable_if(str_format_internal::EnsureConstexpr(s),
      |                      ^
../src/absl/strings/internal/str_format/bind.h:154:22: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  154 |       __attribute__((enable_if(ValidFormatImpl<Args...>(s), "bad format trap")))
      |                      ^
../src/absl/strings/internal/str_format/bind.h:158:22: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  158 |       __attribute__((enable_if(ValidFormatImpl<Args...>(s), "bad format trap")))
      |                      ^
In file included from absl/strings/cord.cc:15:
In file included from ../src/absl/strings/cord.h:75:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<unsigned int>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<unsigned int>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
absl/strings/cord.cc:853:32: note: in instantiation of template class 'absl::optional<unsigned int>' requested here
  853 | absl::optional<uint32_t> Cord::ExpectedChecksum() const {
      |                                ^
In file included from absl/strings/cord.cc:15:
In file included from ../src/absl/strings/cord.h:75:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::cord_internal::CordRep *>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::cord_internal::CordRep *>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::cord_internal::CordRep *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<absl::cord_internal::CordRep *>, absl::is_trivially_copy_assignable<absl::cord_internal::CordRep *>, absl::is_trivially_destructible<absl::cord_internal::CordRep *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<absl::cord_internal::CordRep *>, std::allocator<absl::cord_internal::CordRep *>>, absl::is_trivially_copy_constructible<absl::cord_internal::CordRep *>, absl::is_trivially_copy_assignable<absl::cord_internal::CordRep *>, absl::is_trivially_destructible<absl::cord_internal::CordRep *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<absl::cord_internal::CordRep *, 47, std::allocator<absl::cord_internal::CordRep *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
absl/strings/cord.cc:1217:53: note: in instantiation of member function 'absl::InlinedVector<absl::cord_internal::CordRep *, 47>::InlinedVector' requested here
 1217 |   absl::InlinedVector<CordRep*, kInlinedVectorSize> stack;
      |                                                     ^
In file included from absl/strings/cord.cc:15:
In file included from ../src/absl/strings/cord.h:75:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::cord_internal::CordRep *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<absl::cord_internal::CordRep *>, absl::is_trivially_destructible<absl::cord_internal::CordRep *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<absl::cord_internal::CordRep *>, absl::is_trivially_copy_assignable<absl::cord_internal::CordRep *>, absl::is_trivially_destructible<absl::cord_internal::CordRep *>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<absl::cord_internal::CordRep *>, std::allocator<absl::cord_internal::CordRep *>>, absl::is_trivially_copy_constructible<absl::cord_internal::CordRep *>, absl::is_trivially_copy_assignable<absl::cord_internal::CordRep *>, absl::is_trivially_destructible<absl::cord_internal::CordRep *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<absl::cord_internal::CordRep *, 47, std::allocator<absl::cord_internal::CordRep *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
absl/strings/cord.cc:1217:53: note: in instantiation of member function 'absl::InlinedVector<absl::cord_internal::CordRep *, 47>::InlinedVector' requested here
 1217 |   absl::InlinedVector<CordRep*, kInlinedVectorSize> stack;
      |                                                     ^
In file included from absl/strings/cord.cc:15:
In file included from ../src/absl/strings/cord.h:75:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<int>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<int>, absl::is_trivially_destructible<int>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<int>, absl::is_trivially_copy_assignable<int>, absl::is_trivially_destructible<int>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<int>, std::allocator<int>>, absl::is_trivially_copy_constructible<int>, absl::is_trivially_copy_assignable<int>, absl::is_trivially_destructible<int>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<int, 47, std::allocator<int>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
absl/strings/cord.cc:1218:48: note: in instantiation of member function 'absl::InlinedVector<int, 47>::InlinedVector' requested here
 1218 |   absl::InlinedVector<int, kInlinedVectorSize> indents;
      |                                                ^
23 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/charconv_bigint.cc -o absl/strings/internal/charconv_bigint.o
35 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/charconv_parse.cc -o absl/strings/internal/charconv_parse.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/cord_internal.cc -o absl/strings/internal/cord_internal.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/cord_rep_btree_navigator.cc -o absl/strings/internal/cord_rep_btree_navigator.o
In file included from absl/strings/internal/cord_internal.cc:14:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_internal.cc:14:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_internal.cc:14:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_internal.cc:14:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_internal.cc:14:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_internal.cc:14:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_internal.cc:14:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_internal.cc:14:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_internal.cc:14:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_internal.cc:14:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_internal.cc:14:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_internal.cc:14:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
23 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/cord_rep_btree_reader.cc -o absl/strings/internal/cord_rep_btree_reader.o
In file included from absl/strings/internal/cord_rep_btree_navigator.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_navigator.h:21:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_navigator.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_navigator.h:21:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_navigator.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_navigator.h:21:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_navigator.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_navigator.h:21:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_navigator.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_navigator.h:21:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_navigator.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_navigator.h:21:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_navigator.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_navigator.h:21:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_navigator.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_navigator.h:21:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_navigator.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_navigator.h:21:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_navigator.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_navigator.h:21:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_navigator.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_navigator.h:21:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_navigator.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_navigator.h:21:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
23 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/cord_rep_btree.cc -o absl/strings/internal/cord_rep_btree.o
In file included from absl/strings/internal/cord_rep_btree_reader.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_reader.h:21:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_reader.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_reader.h:21:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_reader.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_reader.h:21:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_reader.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_reader.h:21:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_reader.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_reader.h:21:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_reader.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_reader.h:21:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_reader.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_reader.h:21:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_reader.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_reader.h:21:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_reader.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_reader.h:21:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_reader.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_reader.h:21:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_reader.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_reader.h:21:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree_reader.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree_reader.h:21:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
23 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/cord_rep_consume.cc -o absl/strings/internal/cord_rep_consume.o
In file included from absl/strings/internal/cord_rep_btree.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree.h:25:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree.h:25:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree.h:25:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree.h:25:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree.h:25:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree.h:25:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree.h:25:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree.h:25:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree.h:25:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree.h:25:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree.h:25:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree.h:25:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_btree.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree.h:25:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::cord_internal::CordRep *>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::cord_internal::CordRep *>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/functional/internal/function_ref.h:46:16: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::cord_internal::CordRep *>' requested here
   46 |          absl::is_trivially_copy_constructible<T>::value &&
      |                ^
../src/absl/functional/internal/function_ref.h:54:36: note: in instantiation of function template specialization 'absl::functional_internal::PassByValue<absl::cord_internal::CordRep *>' requested here
   54 | struct ForwardT : std::conditional<PassByValue<T>(), T, T&&> {};
      |                                    ^
../src/absl/functional/internal/function_ref.h:63:1: note: in instantiation of template class 'absl::functional_internal::ForwardT<absl::cord_internal::CordRep *>' requested here
   63 | using Invoker = R (*)(VoidPtr, typename ForwardT<Args>::type...);
      | ^
../src/absl/functional/function_ref.h:137:30: note: in instantiation of template type alias 'Invoker' requested here
  137 |   absl::functional_internal::Invoker<R, Args...> invoker_;
      |                              ^
absl/strings/internal/cord_rep_btree.cc:1047:16: note: in instantiation of template class 'absl::FunctionRef<void (absl::cord_internal::CordRep *, unsigned long, unsigned long)>' requested here
 1047 |   Consume(rep, consume);
      |                ^
In file included from absl/strings/internal/cord_rep_btree.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree.h:25:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/functional/internal/function_ref.h:47:16: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::cord_internal::CordRep *>' requested here
   47 |          absl::is_trivially_copy_assignable<
      |                ^
../src/absl/functional/internal/function_ref.h:54:36: note: in instantiation of function template specialization 'absl::functional_internal::PassByValue<absl::cord_internal::CordRep *>' requested here
   54 | struct ForwardT : std::conditional<PassByValue<T>(), T, T&&> {};
      |                                    ^
../src/absl/functional/internal/function_ref.h:63:1: note: in instantiation of template class 'absl::functional_internal::ForwardT<absl::cord_internal::CordRep *>' requested here
   63 | using Invoker = R (*)(VoidPtr, typename ForwardT<Args>::type...);
      | ^
../src/absl/functional/function_ref.h:137:30: note: in instantiation of template type alias 'Invoker' requested here
  137 |   absl::functional_internal::Invoker<R, Args...> invoker_;
      |                              ^
absl/strings/internal/cord_rep_btree.cc:1047:16: note: in instantiation of template class 'absl::FunctionRef<void (absl::cord_internal::CordRep *, unsigned long, unsigned long)>' requested here
 1047 |   Consume(rep, consume);
      |                ^
In file included from absl/strings/internal/cord_rep_btree.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_btree.h:25:
In file included from ../src/absl/strings/internal/cord_data_edge.h:22:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/functional/internal/function_ref.h:47:16: note: in instantiation of template class 'absl::is_trivially_copy_assignable<unsigned long>' requested here
   47 |          absl::is_trivially_copy_assignable<
      |                ^
../src/absl/functional/internal/function_ref.h:54:36: note: in instantiation of function template specialization 'absl::functional_internal::PassByValue<unsigned long>' requested here
   54 | struct ForwardT : std::conditional<PassByValue<T>(), T, T&&> {};
      |                                    ^
../src/absl/functional/internal/function_ref.h:63:1: note: in instantiation of template class 'absl::functional_internal::ForwardT<unsigned long>' requested here
   63 | using Invoker = R (*)(VoidPtr, typename ForwardT<Args>::type...);
      | ^
../src/absl/functional/function_ref.h:137:30: note: in instantiation of template type alias 'Invoker' requested here
  137 |   absl::functional_internal::Invoker<R, Args...> invoker_;
      |                              ^
absl/strings/internal/cord_rep_btree.cc:1047:16: note: in instantiation of template class 'absl::FunctionRef<void (absl::cord_internal::CordRep *, unsigned long, unsigned long)>' requested here
 1047 |   Consume(rep, consume);
      |                ^
In file included from absl/strings/internal/cord_rep_consume.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_consume.h:20:
In file included from ../src/absl/functional/function_ref.h:54:
In file included from ../src/absl/functional/internal/function_ref.h:22:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_consume.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_consume.h:20:
In file included from ../src/absl/functional/function_ref.h:54:
In file included from ../src/absl/functional/internal/function_ref.h:22:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_consume.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_consume.h:20:
In file included from ../src/absl/functional/function_ref.h:54:
In file included from ../src/absl/functional/internal/function_ref.h:22:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_consume.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_consume.h:20:
In file included from ../src/absl/functional/function_ref.h:54:
In file included from ../src/absl/functional/internal/function_ref.h:22:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_consume.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_consume.h:20:
In file included from ../src/absl/functional/function_ref.h:54:
In file included from ../src/absl/functional/internal/function_ref.h:22:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_consume.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_consume.h:20:
In file included from ../src/absl/functional/function_ref.h:54:
In file included from ../src/absl/functional/internal/function_ref.h:22:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_consume.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_consume.h:20:
In file included from ../src/absl/functional/function_ref.h:54:
In file included from ../src/absl/functional/internal/function_ref.h:22:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_consume.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_consume.h:20:
In file included from ../src/absl/functional/function_ref.h:54:
In file included from ../src/absl/functional/internal/function_ref.h:22:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_consume.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_consume.h:20:
In file included from ../src/absl/functional/function_ref.h:54:
In file included from ../src/absl/functional/internal/function_ref.h:22:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_consume.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_consume.h:20:
In file included from ../src/absl/functional/function_ref.h:54:
In file included from ../src/absl/functional/internal/function_ref.h:22:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_consume.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_consume.h:20:
In file included from ../src/absl/functional/function_ref.h:54:
In file included from ../src/absl/functional/internal/function_ref.h:22:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_consume.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_consume.h:20:
In file included from ../src/absl/functional/function_ref.h:54:
In file included from ../src/absl/functional/internal/function_ref.h:22:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_consume.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_consume.h:20:
In file included from ../src/absl/functional/function_ref.h:54:
In file included from ../src/absl/functional/internal/function_ref.h:22:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::cord_internal::CordRep *>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::cord_internal::CordRep *>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/functional/internal/function_ref.h:46:16: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::cord_internal::CordRep *>' requested here
   46 |          absl::is_trivially_copy_constructible<T>::value &&
      |                ^
../src/absl/functional/internal/function_ref.h:54:36: note: in instantiation of function template specialization 'absl::functional_internal::PassByValue<absl::cord_internal::CordRep *>' requested here
   54 | struct ForwardT : std::conditional<PassByValue<T>(), T, T&&> {};
      |                                    ^
../src/absl/functional/internal/function_ref.h:63:1: note: in instantiation of template class 'absl::functional_internal::ForwardT<absl::cord_internal::CordRep *>' requested here
   63 | using Invoker = R (*)(VoidPtr, typename ForwardT<Args>::type...);
      | ^
../src/absl/functional/function_ref.h:137:30: note: in instantiation of template type alias 'Invoker' requested here
  137 |   absl::functional_internal::Invoker<R, Args...> invoker_;
      |                              ^
absl/strings/internal/cord_rep_consume.cc:45:38: note: in instantiation of template class 'absl::FunctionRef<void (absl::cord_internal::CordRep *, unsigned long, unsigned long)>' requested here
   45 | void Consume(CordRep* rep, ConsumeFn consume_fn) {
      |                                      ^
In file included from absl/strings/internal/cord_rep_consume.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_consume.h:20:
In file included from ../src/absl/functional/function_ref.h:54:
In file included from ../src/absl/functional/internal/function_ref.h:22:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/functional/internal/function_ref.h:47:16: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::cord_internal::CordRep *>' requested here
   47 |          absl::is_trivially_copy_assignable<
      |                ^
../src/absl/functional/internal/function_ref.h:54:36: note: in instantiation of function template specialization 'absl::functional_internal::PassByValue<absl::cord_internal::CordRep *>' requested here
   54 | struct ForwardT : std::conditional<PassByValue<T>(), T, T&&> {};
      |                                    ^
../src/absl/functional/internal/function_ref.h:63:1: note: in instantiation of template class 'absl::functional_internal::ForwardT<absl::cord_internal::CordRep *>' requested here
   63 | using Invoker = R (*)(VoidPtr, typename ForwardT<Args>::type...);
      | ^
../src/absl/functional/function_ref.h:137:30: note: in instantiation of template type alias 'Invoker' requested here
  137 |   absl::functional_internal::Invoker<R, Args...> invoker_;
      |                              ^
absl/strings/internal/cord_rep_consume.cc:45:38: note: in instantiation of template class 'absl::FunctionRef<void (absl::cord_internal::CordRep *, unsigned long, unsigned long)>' requested here
   45 | void Consume(CordRep* rep, ConsumeFn consume_fn) {
      |                                      ^
In file included from absl/strings/internal/cord_rep_consume.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_consume.h:20:
In file included from ../src/absl/functional/function_ref.h:54:
In file included from ../src/absl/functional/internal/function_ref.h:22:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/functional/internal/function_ref.h:47:16: note: in instantiation of template class 'absl::is_trivially_copy_assignable<unsigned long>' requested here
   47 |          absl::is_trivially_copy_assignable<
      |                ^
../src/absl/functional/internal/function_ref.h:54:36: note: in instantiation of function template specialization 'absl::functional_internal::PassByValue<unsigned long>' requested here
   54 | struct ForwardT : std::conditional<PassByValue<T>(), T, T&&> {};
      |                                    ^
../src/absl/functional/internal/function_ref.h:63:1: note: in instantiation of template class 'absl::functional_internal::ForwardT<unsigned long>' requested here
   63 | using Invoker = R (*)(VoidPtr, typename ForwardT<Args>::type...);
      | ^
../src/absl/functional/function_ref.h:137:30: note: in instantiation of template type alias 'Invoker' requested here
  137 |   absl::functional_internal::Invoker<R, Args...> invoker_;
      |                              ^
absl/strings/internal/cord_rep_consume.cc:45:38: note: in instantiation of template class 'absl::FunctionRef<void (absl::cord_internal::CordRep *, unsigned long, unsigned long)>' requested here
   45 | void Consume(CordRep* rep, ConsumeFn consume_fn) {
      |                                      ^
26 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/cord_rep_crc.cc -o absl/strings/internal/cord_rep_crc.o
26 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/cord_rep_ring.cc -o absl/strings/internal/cord_rep_ring.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/cordz_functions.cc -o absl/strings/internal/cordz_functions.o
In file included from absl/strings/internal/cord_rep_crc.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_crc.h:23:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_crc.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_crc.h:23:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_crc.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_crc.h:23:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_crc.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_crc.h:23:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_crc.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_crc.h:23:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_crc.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_crc.h:23:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_crc.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_crc.h:23:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_crc.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_crc.h:23:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_crc.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_crc.h:23:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_crc.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_crc.h:23:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_crc.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_crc.h:23:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_crc.cc:15:
In file included from ../src/absl/strings/internal/cord_rep_crc.h:23:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
23 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/cordz_handle.cc -o absl/strings/internal/cordz_handle.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/cordz_info.cc -o absl/strings/internal/cordz_info.o
In file included from absl/strings/internal/cord_rep_ring.cc:14:
In file included from ../src/absl/strings/internal/cord_rep_ring.h:25:
In file included from ../src/absl/container/internal/layout.h:175:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_ring.cc:14:
In file included from ../src/absl/strings/internal/cord_rep_ring.h:25:
In file included from ../src/absl/container/internal/layout.h:175:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_ring.cc:14:
In file included from ../src/absl/strings/internal/cord_rep_ring.h:25:
In file included from ../src/absl/container/internal/layout.h:175:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_ring.cc:14:
In file included from ../src/absl/strings/internal/cord_rep_ring.h:25:
In file included from ../src/absl/container/internal/layout.h:175:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_ring.cc:14:
In file included from ../src/absl/strings/internal/cord_rep_ring.h:25:
In file included from ../src/absl/container/internal/layout.h:175:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_ring.cc:14:
In file included from ../src/absl/strings/internal/cord_rep_ring.h:25:
In file included from ../src/absl/container/internal/layout.h:175:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_ring.cc:14:
In file included from ../src/absl/strings/internal/cord_rep_ring.h:25:
In file included from ../src/absl/container/internal/layout.h:175:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_ring.cc:14:
In file included from ../src/absl/strings/internal/cord_rep_ring.h:25:
In file included from ../src/absl/container/internal/layout.h:175:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_ring.cc:14:
In file included from ../src/absl/strings/internal/cord_rep_ring.h:25:
In file included from ../src/absl/container/internal/layout.h:175:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_ring.cc:14:
In file included from ../src/absl/strings/internal/cord_rep_ring.h:25:
In file included from ../src/absl/container/internal/layout.h:175:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_ring.cc:14:
In file included from ../src/absl/strings/internal/cord_rep_ring.h:25:
In file included from ../src/absl/container/internal/layout.h:175:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_ring.cc:14:
In file included from ../src/absl/strings/internal/cord_rep_ring.h:25:
In file included from ../src/absl/container/internal/layout.h:175:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cord_rep_ring.cc:14:
In file included from ../src/absl/strings/internal/cord_rep_ring.h:25:
In file included from ../src/absl/container/internal/layout.h:175:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::cord_internal::CordRep *>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::cord_internal::CordRep *>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/functional/internal/function_ref.h:46:16: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::cord_internal::CordRep *>' requested here
   46 |          absl::is_trivially_copy_constructible<T>::value &&
      |                ^
../src/absl/functional/internal/function_ref.h:54:36: note: in instantiation of function template specialization 'absl::functional_internal::PassByValue<absl::cord_internal::CordRep *>' requested here
   54 | struct ForwardT : std::conditional<PassByValue<T>(), T, T&&> {};
      |                                    ^
../src/absl/functional/internal/function_ref.h:63:1: note: in instantiation of template class 'absl::functional_internal::ForwardT<absl::cord_internal::CordRep *>' requested here
   63 | using Invoker = R (*)(VoidPtr, typename ForwardT<Args>::type...);
      | ^
../src/absl/functional/function_ref.h:137:30: note: in instantiation of template type alias 'Invoker' requested here
  137 |   absl::functional_internal::Invoker<R, Args...> invoker_;
      |                              ^
absl/strings/internal/cord_rep_ring.cc:345:18: note: in instantiation of template class 'absl::FunctionRef<void (absl::cord_internal::CordRep *, unsigned long, unsigned long)>' requested here
  345 |   Consume(child, [&](CordRep* child_arg, size_t offset, size_t len) {
      |                  ^
In file included from absl/strings/internal/cord_rep_ring.cc:14:
In file included from ../src/absl/strings/internal/cord_rep_ring.h:25:
In file included from ../src/absl/container/internal/layout.h:175:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/functional/internal/function_ref.h:47:16: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::cord_internal::CordRep *>' requested here
   47 |          absl::is_trivially_copy_assignable<
      |                ^
../src/absl/functional/internal/function_ref.h:54:36: note: in instantiation of function template specialization 'absl::functional_internal::PassByValue<absl::cord_internal::CordRep *>' requested here
   54 | struct ForwardT : std::conditional<PassByValue<T>(), T, T&&> {};
      |                                    ^
../src/absl/functional/internal/function_ref.h:63:1: note: in instantiation of template class 'absl::functional_internal::ForwardT<absl::cord_internal::CordRep *>' requested here
   63 | using Invoker = R (*)(VoidPtr, typename ForwardT<Args>::type...);
      | ^
../src/absl/functional/function_ref.h:137:30: note: in instantiation of template type alias 'Invoker' requested here
  137 |   absl::functional_internal::Invoker<R, Args...> invoker_;
      |                              ^
absl/strings/internal/cord_rep_ring.cc:345:18: note: in instantiation of template class 'absl::FunctionRef<void (absl::cord_internal::CordRep *, unsigned long, unsigned long)>' requested here
  345 |   Consume(child, [&](CordRep* child_arg, size_t offset, size_t len) {
      |                  ^
In file included from absl/strings/internal/cord_rep_ring.cc:14:
In file included from ../src/absl/strings/internal/cord_rep_ring.h:25:
In file included from ../src/absl/container/internal/layout.h:175:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/functional/internal/function_ref.h:47:16: note: in instantiation of template class 'absl::is_trivially_copy_assignable<unsigned long>' requested here
   47 |          absl::is_trivially_copy_assignable<
      |                ^
../src/absl/functional/internal/function_ref.h:54:36: note: in instantiation of function template specialization 'absl::functional_internal::PassByValue<unsigned long>' requested here
   54 | struct ForwardT : std::conditional<PassByValue<T>(), T, T&&> {};
      |                                    ^
../src/absl/functional/internal/function_ref.h:63:1: note: in instantiation of template class 'absl::functional_internal::ForwardT<unsigned long>' requested here
   63 | using Invoker = R (*)(VoidPtr, typename ForwardT<Args>::type...);
      | ^
../src/absl/functional/function_ref.h:137:30: note: in instantiation of template type alias 'Invoker' requested here
  137 |   absl::functional_internal::Invoker<R, Args...> invoker_;
      |                              ^
absl/strings/internal/cord_rep_ring.cc:345:18: note: in instantiation of template class 'absl::FunctionRef<void (absl::cord_internal::CordRep *, unsigned long, unsigned long)>' requested here
  345 |   Consume(child, [&](CordRep* child_arg, size_t offset, size_t len) {
      |                  ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/cordz_sample_token.cc -o absl/strings/internal/cordz_sample_token.o
In file included from absl/strings/internal/cordz_info.cc:15:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_info.cc:15:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_info.cc:15:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_info.cc:15:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_info.cc:15:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_info.cc:15:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_info.cc:15:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_info.cc:15:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_info.cc:15:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_info.cc:15:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_info.cc:15:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_info.cc:15:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
26 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/escaping.cc -o absl/strings/internal/escaping.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/memutil.cc -o absl/strings/internal/memutil.o
23 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/ostringstream.cc -o absl/strings/internal/ostringstream.o
In file included from absl/strings/internal/cordz_sample_token.cc:15:
In file included from ../src/absl/strings/internal/cordz_sample_token.h:17:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_sample_token.cc:15:
In file included from ../src/absl/strings/internal/cordz_sample_token.h:17:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_sample_token.cc:15:
In file included from ../src/absl/strings/internal/cordz_sample_token.h:17:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_sample_token.cc:15:
In file included from ../src/absl/strings/internal/cordz_sample_token.h:17:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_sample_token.cc:15:
In file included from ../src/absl/strings/internal/cordz_sample_token.h:17:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_sample_token.cc:15:
In file included from ../src/absl/strings/internal/cordz_sample_token.h:17:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_sample_token.cc:15:
In file included from ../src/absl/strings/internal/cordz_sample_token.h:17:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_sample_token.cc:15:
In file included from ../src/absl/strings/internal/cordz_sample_token.h:17:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_sample_token.cc:15:
In file included from ../src/absl/strings/internal/cordz_sample_token.h:17:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_sample_token.cc:15:
In file included from ../src/absl/strings/internal/cordz_sample_token.h:17:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_sample_token.cc:15:
In file included from ../src/absl/strings/internal/cordz_sample_token.h:17:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/cordz_sample_token.cc:15:
In file included from ../src/absl/strings/internal/cordz_sample_token.h:17:
In file included from ../src/absl/strings/internal/cordz_info.h:26:
In file included from ../src/absl/strings/internal/cord_internal.h:26:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/escaping.cc:15:
In file included from ../src/absl/strings/internal/escaping.h:20:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/escaping.cc:15:
In file included from ../src/absl/strings/internal/escaping.h:20:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/escaping.cc:15:
In file included from ../src/absl/strings/internal/escaping.h:20:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/escaping.cc:15:
In file included from ../src/absl/strings/internal/escaping.h:20:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/escaping.cc:15:
In file included from ../src/absl/strings/internal/escaping.h:20:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/escaping.cc:15:
In file included from ../src/absl/strings/internal/escaping.h:20:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/escaping.cc:15:
In file included from ../src/absl/strings/internal/escaping.h:20:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/escaping.cc:15:
In file included from ../src/absl/strings/internal/escaping.h:20:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/escaping.cc:15:
In file included from ../src/absl/strings/internal/escaping.h:20:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/escaping.cc:15:
In file included from ../src/absl/strings/internal/escaping.h:20:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/escaping.cc:15:
In file included from ../src/absl/strings/internal/escaping.h:20:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/escaping.cc:15:
In file included from ../src/absl/strings/internal/escaping.h:20:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
23 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/pow10_helper.cc -o absl/strings/internal/pow10_helper.o
23 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/str_format/arg.cc -o absl/strings/internal/str_format/arg.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/str_format/bind.cc -o absl/strings/internal/str_format/bind.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/str_format/extension.cc -o absl/strings/internal/str_format/extension.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/str_format/float_conversion.cc -o absl/strings/internal/str_format/float_conversion.o
In file included from absl/strings/internal/str_format/bind.cc:15:
In file included from ../src/absl/strings/internal/str_format/bind.h:24:
In file included from ../src/absl/strings/internal/str_format/arg.h:30:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from absl/strings/internal/str_format/arg.cc:19:
In file included from ../src/absl/strings/internal/str_format/arg.h:30:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from absl/strings/internal/str_format/bind.cc:15:
In file included from ../src/absl/strings/internal/str_format/bind.h:26:
../src/absl/strings/internal/str_format/parser.h:315:11: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  315 |           enable_if(str_format_internal::EnsureConstexpr(format),
      |           ^
../src/absl/strings/internal/str_format/parser.h:317:11: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  317 |           enable_if(str_format_internal::ValidFormatImpl<C...>(format),
      |           ^
In file included from absl/strings/internal/str_format/bind.cc:15:
../src/absl/strings/internal/str_format/bind.h:139:11: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  139 |           enable_if(str_format_internal::EnsureConstexpr(s), "constexpr trap"),
      |           ^
../src/absl/strings/internal/str_format/bind.h:145:22: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  145 |       __attribute__((enable_if(str_format_internal::EnsureConstexpr(s),
      |                      ^
../src/absl/strings/internal/str_format/bind.h:154:22: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  154 |       __attribute__((enable_if(ValidFormatImpl<Args...>(s), "bad format trap")))
      |                      ^
../src/absl/strings/internal/str_format/bind.h:158:22: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  158 |       __attribute__((enable_if(ValidFormatImpl<Args...>(s), "bad format trap")))
      |                      ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/arg.cc:19:
In file included from ../src/absl/strings/internal/str_format/arg.h:30:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/arg.cc:19:
In file included from ../src/absl/strings/internal/str_format/arg.h:30:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/arg.cc:19:
In file included from ../src/absl/strings/internal/str_format/arg.h:30:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/arg.cc:19:
In file included from ../src/absl/strings/internal/str_format/arg.h:30:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/arg.cc:19:
In file included from ../src/absl/strings/internal/str_format/arg.h:30:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/arg.cc:19:
In file included from ../src/absl/strings/internal/str_format/arg.h:30:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/arg.cc:19:
In file included from ../src/absl/strings/internal/str_format/arg.h:30:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/arg.cc:19:
In file included from ../src/absl/strings/internal/str_format/arg.h:30:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/arg.cc:19:
In file included from ../src/absl/strings/internal/str_format/arg.h:30:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/arg.cc:19:
In file included from ../src/absl/strings/internal/str_format/arg.h:30:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/arg.cc:19:
In file included from ../src/absl/strings/internal/str_format/arg.h:30:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/extension.cc:16:
In file included from ../src/absl/strings/internal/str_format/extension.h:28:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
11 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/str_format/output.cc -o absl/strings/internal/str_format/output.o
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/str_format/parser.cc -o absl/strings/internal/str_format/parser.o
23 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/internal/utf8.cc -o absl/strings/internal/utf8.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/match.cc -o absl/strings/match.o
In file included from absl/strings/internal/str_format/float_conversion.cc:15:
In file included from ../src/absl/strings/internal/str_format/float_conversion.h:18:
In file included from ../src/absl/strings/internal/str_format/extension.h:28:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/float_conversion.cc:15:
In file included from ../src/absl/strings/internal/str_format/float_conversion.h:18:
In file included from ../src/absl/strings/internal/str_format/extension.h:28:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/float_conversion.cc:15:
In file included from ../src/absl/strings/internal/str_format/float_conversion.h:18:
In file included from ../src/absl/strings/internal/str_format/extension.h:28:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/float_conversion.cc:15:
In file included from ../src/absl/strings/internal/str_format/float_conversion.h:18:
In file included from ../src/absl/strings/internal/str_format/extension.h:28:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/float_conversion.cc:15:
In file included from ../src/absl/strings/internal/str_format/float_conversion.h:18:
In file included from ../src/absl/strings/internal/str_format/extension.h:28:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/float_conversion.cc:15:
In file included from ../src/absl/strings/internal/str_format/float_conversion.h:18:
In file included from ../src/absl/strings/internal/str_format/extension.h:28:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/float_conversion.cc:15:
In file included from ../src/absl/strings/internal/str_format/float_conversion.h:18:
In file included from ../src/absl/strings/internal/str_format/extension.h:28:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/float_conversion.cc:15:
In file included from ../src/absl/strings/internal/str_format/float_conversion.h:18:
In file included from ../src/absl/strings/internal/str_format/extension.h:28:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/float_conversion.cc:15:
In file included from ../src/absl/strings/internal/str_format/float_conversion.h:18:
In file included from ../src/absl/strings/internal/str_format/extension.h:28:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/float_conversion.cc:15:
In file included from ../src/absl/strings/internal/str_format/float_conversion.h:18:
In file included from ../src/absl/strings/internal/str_format/extension.h:28:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/float_conversion.cc:15:
In file included from ../src/absl/strings/internal/str_format/float_conversion.h:18:
In file included from ../src/absl/strings/internal/str_format/extension.h:28:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/float_conversion.cc:15:
In file included from ../src/absl/strings/internal/str_format/float_conversion.h:18:
In file included from ../src/absl/strings/internal/str_format/extension.h:28:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/internal/str_format/float_conversion.cc:15:
In file included from ../src/absl/strings/internal/str_format/float_conversion.h:18:
In file included from ../src/absl/strings/internal/str_format/extension.h:28:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::Span<unsigned int>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::Span<unsigned int>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/functional/internal/function_ref.h:46:16: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::Span<unsigned int>>' requested here
   46 |          absl::is_trivially_copy_constructible<T>::value &&
      |                ^
../src/absl/functional/internal/function_ref.h:54:36: note: in instantiation of function template specialization 'absl::functional_internal::PassByValue<absl::Span<unsigned int>>' requested here
   54 | struct ForwardT : std::conditional<PassByValue<T>(), T, T&&> {};
      |                                    ^
../src/absl/functional/internal/function_ref.h:63:1: note: in instantiation of template class 'absl::functional_internal::ForwardT<absl::Span<unsigned int>>' requested here
   63 | using Invoker = R (*)(VoidPtr, typename ForwardT<Args>::type...);
      | ^
../src/absl/functional/function_ref.h:137:30: note: in instantiation of template type alias 'Invoker' requested here
  137 |   absl::functional_internal::Invoker<R, Args...> invoker_;
      |                              ^
absl/strings/internal/str_format/float_conversion.cc:64:64: note: in instantiation of template class 'absl::FunctionRef<void (absl::Span<unsigned int>)>' requested here
   64 |   ABSL_ATTRIBUTE_NOINLINE static void RunWithCapacityImpl(Func f) {
      |                                                                ^
In file included from absl/strings/internal/str_format/float_conversion.cc:15:
In file included from ../src/absl/strings/internal/str_format/float_conversion.h:18:
In file included from ../src/absl/strings/internal/str_format/extension.h:28:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/functional/internal/function_ref.h:47:16: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::Span<unsigned int>>' requested here
   47 |          absl::is_trivially_copy_assignable<
      |                ^
../src/absl/functional/internal/function_ref.h:54:36: note: in instantiation of function template specialization 'absl::functional_internal::PassByValue<absl::Span<unsigned int>>' requested here
   54 | struct ForwardT : std::conditional<PassByValue<T>(), T, T&&> {};
      |                                    ^
../src/absl/functional/internal/function_ref.h:63:1: note: in instantiation of template class 'absl::functional_internal::ForwardT<absl::Span<unsigned int>>' requested here
   63 | using Invoker = R (*)(VoidPtr, typename ForwardT<Args>::type...);
      | ^
../src/absl/functional/function_ref.h:137:30: note: in instantiation of template type alias 'Invoker' requested here
  137 |   absl::functional_internal::Invoker<R, Args...> invoker_;
      |                              ^
absl/strings/internal/str_format/float_conversion.cc:64:64: note: in instantiation of template class 'absl::FunctionRef<void (absl::Span<unsigned int>)>' requested here
   64 |   ABSL_ATTRIBUTE_NOINLINE static void RunWithCapacityImpl(Func f) {
      |                                                                ^
In file included from absl/strings/internal/str_format/float_conversion.cc:15:
In file included from ../src/absl/strings/internal/str_format/float_conversion.h:18:
In file included from ../src/absl/strings/internal/str_format/extension.h:28:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::str_format_internal::(anonymous namespace)::BinaryToDecimal>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::str_format_internal::(anonymous namespace)::BinaryToDecimal>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/functional/internal/function_ref.h:46:16: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::str_format_internal::(anonymous namespace)::BinaryToDecimal>' requested here
   46 |          absl::is_trivially_copy_constructible<T>::value &&
      |                ^
../src/absl/functional/internal/function_ref.h:54:36: note: in instantiation of function template specialization 'absl::functional_internal::PassByValue<absl::str_format_internal::(anonymous namespace)::BinaryToDecimal>' requested here
   54 | struct ForwardT : std::conditional<PassByValue<T>(), T, T&&> {};
      |                                    ^
../src/absl/functional/internal/function_ref.h:63:1: note: in instantiation of template class 'absl::functional_internal::ForwardT<absl::str_format_internal::(anonymous namespace)::BinaryToDecimal>' requested here
   63 | using Invoker = R (*)(VoidPtr, typename ForwardT<Args>::type...);
      | ^
../src/absl/functional/function_ref.h:137:30: note: in instantiation of template type alias 'Invoker' requested here
  137 |   absl::functional_internal::Invoker<R, Args...> invoker_;
      |                              ^
absl/strings/internal/str_format/float_conversion.cc:139:70: note: in instantiation of template class 'absl::FunctionRef<void (absl::str_format_internal::(anonymous namespace)::BinaryToDecimal)>' requested here
  139 |                             absl::FunctionRef<void(BinaryToDecimal)> f) {
      |                                                                      ^
In file included from absl/strings/internal/str_format/float_conversion.cc:15:
In file included from ../src/absl/strings/internal/str_format/float_conversion.h:18:
In file included from ../src/absl/strings/internal/str_format/extension.h:28:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/functional/internal/function_ref.h:47:16: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::str_format_internal::(anonymous namespace)::BinaryToDecimal>' requested here
   47 |          absl::is_trivially_copy_assignable<
      |                ^
../src/absl/functional/internal/function_ref.h:54:36: note: in instantiation of function template specialization 'absl::functional_internal::PassByValue<absl::str_format_internal::(anonymous namespace)::BinaryToDecimal>' requested here
   54 | struct ForwardT : std::conditional<PassByValue<T>(), T, T&&> {};
      |                                    ^
../src/absl/functional/internal/function_ref.h:63:1: note: in instantiation of template class 'absl::functional_internal::ForwardT<absl::str_format_internal::(anonymous namespace)::BinaryToDecimal>' requested here
   63 | using Invoker = R (*)(VoidPtr, typename ForwardT<Args>::type...);
      | ^
../src/absl/functional/function_ref.h:137:30: note: in instantiation of template type alias 'Invoker' requested here
  137 |   absl::functional_internal::Invoker<R, Args...> invoker_;
      |                              ^
absl/strings/internal/str_format/float_conversion.cc:139:70: note: in instantiation of template class 'absl::FunctionRef<void (absl::str_format_internal::(anonymous namespace)::BinaryToDecimal)>' requested here
  139 |                             absl::FunctionRef<void(BinaryToDecimal)> f) {
      |                                                                      ^
In file included from absl/strings/internal/str_format/float_conversion.cc:15:
In file included from ../src/absl/strings/internal/str_format/float_conversion.h:18:
In file included from ../src/absl/strings/internal/str_format/extension.h:28:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::str_format_internal::(anonymous namespace)::FractionalDigitGenerator>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::str_format_internal::(anonymous namespace)::FractionalDigitGenerator>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/functional/internal/function_ref.h:46:16: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::str_format_internal::(anonymous namespace)::FractionalDigitGenerator>' requested here
   46 |          absl::is_trivially_copy_constructible<T>::value &&
      |                ^
../src/absl/functional/internal/function_ref.h:54:36: note: in instantiation of function template specialization 'absl::functional_internal::PassByValue<absl::str_format_internal::(anonymous namespace)::FractionalDigitGenerator>' requested here
   54 | struct ForwardT : std::conditional<PassByValue<T>(), T, T&&> {};
      |                                    ^
../src/absl/functional/internal/function_ref.h:63:1: note: in instantiation of template class 'absl::functional_internal::ForwardT<absl::str_format_internal::(anonymous namespace)::FractionalDigitGenerator>' requested here
   63 | using Invoker = R (*)(VoidPtr, typename ForwardT<Args>::type...);
      | ^
../src/absl/functional/function_ref.h:137:30: note: in instantiation of template type alias 'Invoker' requested here
  137 |   absl::functional_internal::Invoker<R, Args...> invoker_;
      |                              ^
absl/strings/internal/str_format/float_conversion.cc:247:77: note: in instantiation of template class 'absl::FunctionRef<void (absl::str_format_internal::(anonymous namespace)::FractionalDigitGenerator)>' requested here
  247 |       uint128 v, int exp, absl::FunctionRef<void(FractionalDigitGenerator)> f) {
      |                                                                             ^
In file included from absl/strings/internal/str_format/float_conversion.cc:15:
In file included from ../src/absl/strings/internal/str_format/float_conversion.h:18:
In file included from ../src/absl/strings/internal/str_format/extension.h:28:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/functional/internal/function_ref.h:47:16: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::str_format_internal::(anonymous namespace)::FractionalDigitGenerator>' requested here
   47 |          absl::is_trivially_copy_assignable<
      |                ^
../src/absl/functional/internal/function_ref.h:54:36: note: in instantiation of function template specialization 'absl::functional_internal::PassByValue<absl::str_format_internal::(anonymous namespace)::FractionalDigitGenerator>' requested here
   54 | struct ForwardT : std::conditional<PassByValue<T>(), T, T&&> {};
      |                                    ^
../src/absl/functional/internal/function_ref.h:63:1: note: in instantiation of template class 'absl::functional_internal::ForwardT<absl::str_format_internal::(anonymous namespace)::FractionalDigitGenerator>' requested here
   63 | using Invoker = R (*)(VoidPtr, typename ForwardT<Args>::type...);
      | ^
../src/absl/functional/function_ref.h:137:30: note: in instantiation of template type alias 'Invoker' requested here
  137 |   absl::functional_internal::Invoker<R, Args...> invoker_;
      |                              ^
absl/strings/internal/str_format/float_conversion.cc:247:77: note: in instantiation of template class 'absl::FunctionRef<void (absl::str_format_internal::(anonymous namespace)::FractionalDigitGenerator)>' requested here
  247 |       uint128 v, int exp, absl::FunctionRef<void(FractionalDigitGenerator)> f) {
      |                                                                             ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/numbers.cc -o absl/strings/numbers.o
In file included from absl/strings/internal/str_format/parser.cc:15:
In file included from ../src/absl/strings/internal/str_format/parser.h:31:
In file included from ../src/absl/strings/internal/str_format/checker.h:19:
In file included from ../src/absl/strings/internal/str_format/arg.h:30:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from absl/strings/internal/str_format/parser.cc:15:
../src/absl/strings/internal/str_format/parser.h:315:11: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  315 |           enable_if(str_format_internal::EnsureConstexpr(format),
      |           ^
../src/absl/strings/internal/str_format/parser.h:317:11: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  317 |           enable_if(str_format_internal::ValidFormatImpl<C...>(format),
      |           ^
29 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/str_cat.cc -o absl/strings/str_cat.o
7 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/str_replace.cc -o absl/strings/str_replace.o
In file included from absl/strings/numbers.cc:18:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/numbers.cc:18:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/numbers.cc:18:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/numbers.cc:18:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/numbers.cc:18:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/numbers.cc:18:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/numbers.cc:18:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/numbers.cc:18:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/numbers.cc:18:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/numbers.cc:18:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/numbers.cc:18:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/numbers.cc:18:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/str_cat.cc:15:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/str_cat.cc:15:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/str_cat.cc:15:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/str_cat.cc:15:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/str_cat.cc:15:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/str_cat.cc:15:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/str_cat.cc:15:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/str_cat.cc:15:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/str_cat.cc:15:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/str_cat.cc:15:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/str_cat.cc:15:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/str_cat.cc:15:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
23 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/str_split.cc -o absl/strings/str_split.o
23 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/string_view.cc -o absl/strings/string_view.o
In file included from absl/strings/str_replace.cc:17:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/str_replace.cc:17:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/str_replace.cc:17:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/str_replace.cc:17:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/str_replace.cc:17:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/str_replace.cc:17:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/str_replace.cc:17:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/str_replace.cc:17:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/str_replace.cc:17:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/str_replace.cc:17:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/str_replace.cc:17:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/str_replace.cc:17:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
23 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/strings/substitute.cc -o absl/strings/substitute.o
In file included from absl/strings/str_split.cc:15:
In file included from ../src/absl/strings/str_split.h:48:
In file included from ../src/absl/strings/internal/str_split_internal.h:42:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/synchronization/barrier.cc -o absl/synchronization/barrier.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/synchronization/blocking_counter.cc -o absl/synchronization/blocking_counter.o
In file included from absl/strings/substitute.cc:15:
In file included from ../src/absl/strings/substitute.h:81:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/substitute.cc:15:
In file included from ../src/absl/strings/substitute.h:81:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/substitute.cc:15:
In file included from ../src/absl/strings/substitute.h:81:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/substitute.cc:15:
In file included from ../src/absl/strings/substitute.h:81:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/strings/substitute.cc:15:
In file included from ../src/absl/strings/substitute.h:81:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/substitute.cc:15:
In file included from ../src/absl/strings/substitute.h:81:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/substitute.cc:15:
In file included from ../src/absl/strings/substitute.h:81:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/substitute.cc:15:
In file included from ../src/absl/strings/substitute.h:81:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/strings/substitute.cc:15:
In file included from ../src/absl/strings/substitute.h:81:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/substitute.cc:15:
In file included from ../src/absl/strings/substitute.h:81:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/substitute.cc:15:
In file included from ../src/absl/strings/substitute.h:81:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/substitute.cc:15:
In file included from ../src/absl/strings/substitute.h:81:
In file included from ../src/absl/strings/escaping.h:32:
In file included from ../src/absl/strings/str_join.h:59:
In file included from ../src/absl/strings/internal/str_join_internal.h:42:
In file included from ../src/absl/strings/internal/resize_uninitialized.h:26:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:372:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  372 |     ABSL_BAD_CALL_IF(
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:380:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  380 |     ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 1,
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:389:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  389 |     ABSL_BAD_CALL_IF(
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:399:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  399 |     ABSL_BAD_CALL_IF(
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:410:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  410 |     ABSL_BAD_CALL_IF(
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:422:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  422 |     ABSL_BAD_CALL_IF(
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:435:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  435 |     ABSL_BAD_CALL_IF(
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:446:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  446 |     ABSL_BAD_CALL_IF(
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:458:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  458 |     ABSL_BAD_CALL_IF(
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:470:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  470 |     ABSL_BAD_CALL_IF(
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:483:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  483 |     ABSL_BAD_CALL_IF(
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:611:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  611 |     ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 0,
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:617:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  617 |     ABSL_BAD_CALL_IF(
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:625:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  625 |     ABSL_BAD_CALL_IF(
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:634:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  634 |     ABSL_BAD_CALL_IF(
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:644:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  644 |     ABSL_BAD_CALL_IF(
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:655:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  655 |     ABSL_BAD_CALL_IF(
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:667:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  667 |     ABSL_BAD_CALL_IF(
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:680:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  680 |     ABSL_BAD_CALL_IF(
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:694:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  694 |     ABSL_BAD_CALL_IF(
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:706:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  706 |     ABSL_BAD_CALL_IF(
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
In file included from absl/strings/substitute.cc:15:
../src/absl/strings/substitute.h:719:5: warning: 'enable_if' is a clang extension [-Wgcc-compat]
  719 |     ABSL_BAD_CALL_IF(
      |     ^
../src/absl/base/macros.h:78:18: note: expanded from macro 'ABSL_BAD_CALL_IF'
   78 |   __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg)))
      |                  ^
45 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/synchronization/internal/create_thread_identity.cc -o absl/synchronization/internal/create_thread_identity.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/synchronization/internal/graphcycles.cc -o absl/synchronization/internal/graphcycles.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/synchronization/internal/per_thread_sem.cc -o absl/synchronization/internal/per_thread_sem.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/synchronization/internal/waiter.cc -o absl/synchronization/internal/waiter.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/synchronization/mutex.cc -o absl/synchronization/mutex.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/synchronization/notification.cc -o absl/synchronization/notification.o
In file included from absl/synchronization/mutex.cc:42:
In file included from ../src/absl/base/call_once.h:34:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
absl/synchronization/mutex.cc:1220:21: warning: unused variable 'mu_events' [-Wunused-variable]
 1220 |         SynchEvent *mu_events = GetSynchEvent(mu);
      |                     ^~~~~~~~~
absl/synchronization/mutex.cc:1443:21: warning: unused variable 'mu_events' [-Wunused-variable]
 1443 |         SynchEvent *mu_events = GetSynchEvent(this);
      |                     ^~~~~~~~~
absl/synchronization/mutex.cc:2428:17: warning: unused variable 'e' [-Wunused-variable]
 2428 |     SynchEvent *e = GetSynchEvent(this);
      |                 ^
absl/synchronization/mutex.cc:2437:17: warning: unused variable 'e' [-Wunused-variable]
 2437 |     SynchEvent *e = GetSynchEvent(this);
      |                 ^
absl/synchronization/mutex.cc:1291:14: warning: unused function 'CurrentStackString' [-Wunused-function]
 1291 | static char *CurrentStackString(char *buf, int maxlen, bool symbolize) {
      |              ^~~~~~~~~~~~~~~~~~
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/time/civil_time.cc -o absl/time/civil_time.o
10 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/time/clock.cc -o absl/time/clock.o
In file included from absl/time/civil_time.cc:20:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/time/civil_time.cc:20:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/time/civil_time.cc:20:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/time/civil_time.cc:20:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from absl/time/civil_time.cc:20:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/time/civil_time.cc:20:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/time/civil_time.cc:20:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/time/civil_time.cc:20:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from absl/time/civil_time.cc:20:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/time/civil_time.cc:20:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/time/civil_time.cc:20:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from absl/time/civil_time.cc:20:
In file included from ../src/absl/strings/str_cat.h:63:
In file included from ../src/absl/strings/numbers.h:43:
In file included from ../src/absl/base/internal/endian.h:22:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/time/duration.cc -o absl/time/duration.o
23 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/time/format.cc -o absl/time/format.o
In file included from absl/time/duration.cc:69:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/time/internal/cctz/src/civil_time_detail.cc -o absl/time/internal/cctz/src/civil_time_detail.o
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
absl/time/duration.cc:192:10: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  192 |   return absl::bit_cast<uint64_t>(v);
      |          ^
In file included from absl/time/duration.cc:69:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
absl/time/duration.cc:192:10: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  192 |   return absl::bit_cast<uint64_t>(v);
      |          ^
In file included from absl/time/duration.cc:69:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
absl/time/duration.cc:192:10: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  192 |   return absl::bit_cast<uint64_t>(v);
      |          ^
In file included from absl/time/duration.cc:69:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
absl/time/duration.cc:192:10: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  192 |   return absl::bit_cast<uint64_t>(v);
      |          ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/time/internal/cctz/src/time_zone_fixed.cc -o absl/time/internal/cctz/src/time_zone_fixed.o
11 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/time/internal/cctz/src/time_zone_format.cc -o absl/time/internal/cctz/src/time_zone_format.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/time/internal/cctz/src/time_zone_if.cc -o absl/time/internal/cctz/src/time_zone_if.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/time/internal/cctz/src/time_zone_impl.cc -o absl/time/internal/cctz/src/time_zone_impl.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/time/internal/cctz/src/time_zone_info.cc -o absl/time/internal/cctz/src/time_zone_info.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/time/internal/cctz/src/time_zone_libc.cc -o absl/time/internal/cctz/src/time_zone_libc.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/time/internal/cctz/src/time_zone_lookup.cc -o absl/time/internal/cctz/src/time_zone_lookup.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/time/internal/cctz/src/time_zone_posix.cc -o absl/time/internal/cctz/src/time_zone_posix.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/time/internal/cctz/src/zone_info_source.cc -o absl/time/internal/cctz/src/zone_info_source.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/time/time.cc -o absl/time/time.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/types/bad_any_cast.cc -o absl/types/bad_any_cast.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/types/bad_optional_access.cc -o absl/types/bad_optional_access.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c absl/types/bad_variant_access.cc -o absl/types/bad_variant_access.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c cpp-compat.cpp -o cpp-compat.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2-accessors.cpp -o s2-accessors.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2-bounds.cpp -o s2-bounds.o
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2-cell.cpp -o s2-cell.o
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2-cell-union.cpp -o s2-cell-union.o
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2-accessors.cpp:2:
In file included from ./geography-operator.h:7:
In file included from ./geography.h:7:
In file included from ./s2geography.h:4:
In file included from ./s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2-constructors-formatters.cpp -o s2-constructors-formatters.o
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2-bounds.cpp:2:
In file included from ./s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traiIn file included from ts2-constructors-formatters.cpps:_6i:
nIn file included from t./s2/s2pointutil.he:r25n:
aIn file included from l../src/s2/s1angle.h:::28i:
sIn file included from _../src/s2/s2point.ht:ri22vi:
aIn file included from l../src/s2/util/math/vector.hl:y34_:
cIn file included from o../src/absl/utility/utility.hp:y50a:
bIn file included from l../src/absl/base/internal/invoke.he:_64i:
m../src/absl/meta/type_traits.hp:l301<:T36>:: :warning: kbuiltin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]V
alue> {};
      |                                         ^301
 |     : std../src/absl/base/casts.h:::155i:n41t:e gnote: rin instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested herea
l_co  n155s | t a n t < b o o l ,   _ _ h a s _ t rtiyvpiea_lt_rdaeisttsr_uicnttoerr(nTa)l :&:&i
s      _| t                                   ^r
ivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
../src/absl/meta/type_traits.h  :645350 | : 36 :   warning: rbuiltin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]e
turn   350E | n d i a n:C lsatsds::::iFnrtoemgHroaslt_3c2o(nasbtsaln:t:<bbioto_lc,a s_t_<huaisn_tt3r2i>v(iva)l)_;c
o      n| s                                   ^t
ructor(T) &&
      |                                    ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return../src/absl/meta/type_traits.h :E494n:d17i:a nwarning: Cbuiltin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]l
ass::F  r494o | m H o s t 3 2 ( a b sblo:o:lb,i t___chaasst_<turiinvti3a2l>_(avs)s)i;g
n      (| t                                   ^y
pename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<int>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<int>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<int>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<int>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
38 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2-predicates.cpp -o s2-predicates.o
38 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2-transformers.cpp -o s2-transformers.o
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2-cell.cpp:8:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]In file included from 
s2-predicates.cpp:2  :
143In file included from  | ./s2/s2boolean_operation.h : 24r:
eIn file included from t../src/s2/s2builder.hu:r31n:
 In file included from b../src/s2/mutable_s2shape_index.hi:t34_:
cIn file included from a../src/s2/s2cell_id.hs:t31<:
iIn file included from n../src/s2/r2.ht:1226:
_In file included from t../src/s2/util/math/vector.h>:(34F:
rIn file included from o../src/absl/utility/utility.hm:H50o:
sIn file included from t../src/absl/base/internal/invoke.h1:664(:
b../src/absl/meta/type_traits.hi:t301_:c36a:s twarning: <builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]u
int1  6301_ | t > ( x ):) )s;t
d      :| :                                      ^i
ntegral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<int>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<int>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<int>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2-transformers.cpp:In file included from 2s2-predicates.cpp:
:In file included from 2./s2/s2shape_index_buffered_region.h:
:In file included from 22./s2/s2boolean_operation.h:
:In file included from 24../src/s2/s2cap.h:
:In file included from 28../src/s2/s2builder.h:
:In file included from 31../src/s2/s1angle.h:
:In file included from 28../src/s2/mutable_s2shape_index.h:
:In file included from 34../src/s2/s2point.h:
:In file included from 22../src/s2/s2cell_id.h:
:In file included from 31../src/s2/util/math/vector.h:
:In file included from 34../src/s2/r2.h:
:In file included from 22../src/absl/utility/utility.h:
:In file included from 50../src/s2/util/math/vector.h:
:In file included from 34../src/absl/base/internal/invoke.h:
:In file included from 64../src/absl/utility/utility.h:
:../src/absl/meta/type_traits.h50::
559In file included from :../src/absl/base/internal/invoke.h8::64 :
warning: ../src/absl/meta/type_traits.hbuiltin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]:
494:17: warning:   builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]559
 |       494  |   ( _ _ h a s _ t r ibvoioall,_ c_o_phya(sE_xttreinvtisaRle_maosvseidg)n (|t|y p!eknIasmCeo psytOdr:M:orveemCoovnes_trreufcetriebnlcee)< T&>&:
:      t| y       ^p
e) &&../src/absl/meta/type_traits.h
:      571| :                ^39
: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here../src/absl/types/internal/optional.h
:183:21:   571note:  | in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<int>>' requested here 
      183  |         b o o l ,   t y p e _atbrsali:t:si_si_nttreirvniaall:l:yi_sc_otpryi_vaisaslilgyn_acbolpey<atbylpee_niammpel <sTt>d::::krVealmuoev>e _{c}v;<

            | |                                       ^                    ^

../src/absl/base/casts.h../src/absl/types/optional.h::156119::4145::  note: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested herein instantiation of default argument for 'optional_data<std::allocator<int>>' required here

    156119 |  |  c l a s s   o p t i o n a l   :   ptryipvea_tter aoipttsi_oinnatle_rinnatle:r:niasl_:t:roipvtiiaolnlayl__cdoaptyaa<bTl>e,<
D      e| s                                            ^~~~~~~~~~~~~~~~t
>::v../src/absl/container/internal/common.ha:l113u:e34
:       | note:                                         ^in instantiation of template class 'absl::optional<std::allocator<int>>' requested here

  ../src/absl/base/casts.h113: | 163 : 23a:b snote: lwhile substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]:
:opt  i163o | nianll<ianlel occoantsotre_xtpyrp eD>e satl lboict__ c=a s{t}(;c
o      n| s                                 ^t
 Source../src/absl/container/internal/common.h&: 120s:o28u:r cnote: ein instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here)
 {
        120|  |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~c
la  s164s |   n ordeet_uhrann d_l_eb u:i lptuibnl_ibci tn_ocdaes_th(aDnedslte,_ bsaosuer<cPeo)l;i
c      y| T  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~r
a  i165t | s},
       A| l~l
oc> {../src/absl/base/internal/endian.h
:      143| :                           ^39
: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
../src/s2/s2closest_edge_query_base.h  :143573 | : 46 :r enote: tin instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested hereu
rn   b573i | t _ c a s t < i n t 1s6h_atp>e(_Firdosm.Hionsste1r6t((bciotn_tcaaisnti<nugi_nsth1a6p_et->>(ixd)())));;

            | |                                       ^                                             ^

In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c init.cpp -o init.o
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<int>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<int>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<int>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<int>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<const S2ShapeIndexCell *>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<const S2ShapeIndexCell *>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2-cell-union.cpp:2:
In file included from ./s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2-constructors-formatters.cpp:6:
In file included from ./s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
38 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c RcppExports.cpp -o RcppExports.o
52 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2-geography.cpp -o s2-geography.o
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<const S2ShapeIndexCell *>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<const S2ShapeIndexCell *>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
./s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
./s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
./s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
./s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
./s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
./s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
./s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
./s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
./s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2-predicates.cpp:2:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
./s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
38 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2-lnglat.cpp -o s2-lnglat.o
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<const S2ShapeIndexCell *>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<const S2ShapeIndexCell *>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&In file included from 
s2-geography.cpp      :| 2       ^:

In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h../src/absl/meta/type_traits.h::34571:
:In file included from 39../src/absl/utility/utility.h:: 50note: :
in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested hereIn file included from 
../src/absl/base/internal/invoke.h:64  :
571../src/absl/meta/type_traits.h | : 301 : 36 :   warning:  builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins] 
  bool, t  y301p | e _ t r a:i tsst_di:n:tienrtneaglr:a:li_sc_otnrsitvainatl<lbyo_oclo,p y_a_bhlaes__itmrpilv<iTa>l:_:dkeVsatlruuec>t o{r}(;T
)       | &                                      ^&

      |                                    ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/meta/type_traits.h:350../src/absl/container/internal/btree.h::361345:: 19warning: :builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins] 
note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
  350 |   1345  |     :   ssttda:t:iicn_taesgsrearlt_(csotnasttiacn_ta<sbsoeorlt,_ v_a_lhiadsa_ttiroinv(i)a,l _"cTohnisst rcuacltlo rm(uTs)t  &b&e
       e| l                                   ^i
ded.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2-transformers.cpp:2:
In file included from ./s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const SoIn file included from s2-lnglat.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
urce& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
../src/absl/meta/type_traits.h      :| 494  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:
17  :165  | warning: }builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]

      | ~
  494 |   ../src/s2/util/endian/endian.h : 661 : 36 :   note:  while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]b
ool,   661_ | _ h a s _rtertiuvrina lE_nadsisaingCnl(atsysp:e:nFarmoem Hsotsdt:6:4r(eambosvle:_:rbeifte_rceanscte<<uTi>n:t:6t4y>p(ev)) )&;&

            | |                                    ^                ^

In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h../src/absl/meta/type_traits.h::562559::78::  note: warning: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested herebuiltin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]

  562   | 559  |           i s(__t_rhiavsi_atlrliyv_idaels_tcroupcyt(iEbxltee<nEtxstReenmtosvReedm)o v|e|d >!:k:IvsaCloupey O&r&M
o      v| e      ^C
onst../src/absl/meta/type_traits.hr:u571c:t39i:b lnote: ein instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here)
 &&
        571|  |        ^ 
         bool, t../src/absl/meta/type_traits.hy:p560e:_8t:r awarning: ibuiltin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]t
s_in  t560e | r n a l : : i(s___thraisv_itarlilvyi_aclo_paysasbilgen_(iEmxptle<nTt>s:R:ekmVoavleude)>  |{|} ;!
k      I| s                                      ^C
opyO../src/absl/base/casts.hr:M156o:v41e:A snote: sin instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested herei
gnab  l156e | )   & & 
        |         ^ 
          type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2-geography.cpp:2:
In file included from ./s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
52 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2-matrix.cpp -o s2-matrix.o
52 warnings generated.
/usr/local/clang18/bin/clang -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include    -fpic  -O3 -Wall -pedantic -Wp,-D_FORTIFY_SOURCE=3  -c wk-impl.c -o wk-impl.o
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2geography/accessors.cc -o s2geography/accessors.o
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<int>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<int>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<int>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<int>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2geography/accessors.cc:2:
In file included from s2geography/accessors.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2geography/accessors-geog.cc -o s2geography/accessors-geog.o
38 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2geography/linear-referencing.cc -o s2geography/linear-referencing.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2geography/distance.cc -o s2geography/distance.o
38 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2geography/build.cc -o s2geography/build.o
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<const S2ShapeIndexCell *>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<const S2ShapeIndexCell *>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
./s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
./s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2geography/accessors-geog.cc:2:
In file included from s2geography/accessors-geog.h:4:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
./s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
./s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl:In file included from :s2-matrix.cppi:s6_:
tIn file included from r./s2/s2boolean_operation.hiv:i24a:
lIn file included from l../src/s2/s2builder.hy:_31d:
eIn file included from s../src/s2/mutable_s2shape_index.ht:r34u:
cIn file included from t../src/s2/s2cell_id.hi:b31l:
eIn file included from <../src/s2/r2.hT:>22::
:In file included from v../src/s2/util/math/vector.ha:l34u:
eIn file included from >../src/absl/utility/utility.h :{50}:
;In file included from 
../src/absl/base/internal/invoke.h      :| 64                          ^:

../src/absl/meta/type_traits.h:559../src/absl/meta/type_traits.h::8422:: 41warning: :builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins] 
note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
    559422 |  |             ( _ _ h asst_dt:r:iivsi_allv_alcueo_prye(fEexrteennctes<RTe>m>o:v:etdy)p e|:|: t!ykpIes C{o
p      y| O                                        ^r
Mov../src/s2/util/gtl/compact_array.he:C508o:n23s:t rnote: uin instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested herec
tibl  e508) |   & &s
t      a| t       ^i
c_assert(abs../src/absl/meta/type_traits.hl::571::i39s:_ tnote: rin instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested herei
viall  y571_ | c o p y _ c o n s t rbuocotli,b ltey<pvea_lturea_ittysp_ei>n:t:evranlaule: :&i&s
_      t| r                      ^i
via../src/s2/util/gtl/compact_array.hl:l528y:_30c:o pnote: yin instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested herea
ble  _528i | mcplla<sTs> :c:okmVpaalctu_ea>r r{a}y; 
:       | p                                      ^u
blic compact_array_base<T, A> {
      |                              ^
../src/absl/container/internal/btree.h:2068:39../src/s2/s2shape_index.h:: 157note: :in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here21
: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here 
2068 |    157  | s t aSt2iCcl_iapspseedrSth(atpyepSee_tt rsahiatpse_si_n;t
e      r| n                    ^a
l::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
./s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2geography/linear-referencing.cc:2In file included from :
s2-matrix.cppIn file included from :s2geography/linear-referencing.h6::
4In file included from :
./s2/s2boolean_operation.hIn file included from :s2geography/geography.h24::
4In file included from :
../src/s2/s2builder.hIn file included from :../src/s2/s2polygon.h31::
29In file included from :
../src/s2/mutable_s2shape_index.hIn file included from :../src/s2/mutable_s2shape_index.h34::
34In file included from :
../src/s2/s2cell_id.hIn file included from :../src/s2/s2cell_id.h31::
31In file included from :
../src/s2/r2.hIn file included from :../src/s2/r2.h22::
22In file included from :
../src/s2/util/math/vector.hIn file included from :../src/s2/util/math/vector.h34::
34In file included from :
../src/absl/utility/utility.hIn file included from :../src/absl/utility/utility.h50::
50In file included from :
../src/absl/base/internal/invoke.hIn file included from :../src/absl/base/internal/invoke.h64::
64../src/absl/meta/type_traits.h:
:../src/absl/meta/type_traits.h560::4948::17 :warning:  builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]warning: 
builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560   | 494  |           ( _  _ h abso_otlr,i v_i_ahla_sa_stsriigvni(aElx_taesnstisgRne(mtoyvpeedn)a m|e|  s!tkdI:s:CroepmyoOvreM_orveefAesrseingcnea<bTl>e:): t&y&p
e      )|         ^&
&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |      ../src/absl/meta/type_traits.h : 301 : 36 :   warning:  builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins] 
  ab  s301l | : : i s _:t rsitvdi:a:lilnyt_ecgorpayl__acsosnisgtnaanbtl<eb<ovoall,u e___thypaes>_:t:rviavliuael _&d&e
s      t| r                      ^u
cto../src/s2/util/gtl/compact_array.hr:(528T:)30 :& &note: 
in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here      
|                                    ^
  528 | class com../src/absl/meta/type_traits.hp:a562c:t7_:a rnote: rin instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested herea
y :   p562u | b l i c   c oimsp_atcrti_vairarlayl_yb_adsees<tTr,u cAt>i b{l
e      <| E                             ^x
ten../src/s2/s2shape_index.ht:s157R:e21m:o vnote: ein instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
d>  :157: | v a lSu2eC l&i&p
p      e| d      ^S
hapeSet ../src/absl/meta/type_traits.hs:h571ap:e39s:_ ;note: 
in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here      
|                     ^
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
./s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
./s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
./s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
./s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
./s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2geography/linear-referencing.cc:2:
In file included from s2geography/linear-referencing.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
./s2/s2furthest_edge_query.h:396:29: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::S2ClosestEdgeQueryBase' requested here
  396 | inline S2FurthestEdgeQuery::S2FurthestEdgeQuery(const S2ShapeIndex* index,
      |                             ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
./s2/s2furthest_edge_query.h:396:29: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::S2ClosestEdgeQueryBase' requested here
  396 | inline S2FurthestEdgeQuery::S2FurthestEdgeQuery(const S2ShapeIndex* index,
      |                             ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MaxDistance>::Result &, S2ClosestEdgeQueryBase<S2MaxDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MaxDistance>::Result &, S2ClosestEdgeQueryBase<S2MaxDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
./s2/s2furthest_edge_query.h:396:29: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::S2ClosestEdgeQueryBase' requested here
  396 | inline S2FurthestEdgeQuery::S2FurthestEdgeQuery(const S2ShapeIndex* index,
      |                             ^
In file included from s2-matrix.cpp:6:
In file included from ./s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MaxDistance>::Result &, S2ClosestEdgeQueryBase<S2MaxDistance>::Result *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MaxDistance>::Result &, S2ClosestEdgeQueryBase<S2MaxDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MaxDistance>::Result &, S2ClosestEdgeQueryBase<S2MaxDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
./s2/s2furthest_edge_query.h:396:29: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::S2ClosestEdgeQueryBase' requested here
  396 | inline S2FurthestEdgeQuery::S2FurthestEdgeQuery(const S2ShapeIndex* index,
      |                             ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
38 warnings generated.
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<int>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<int>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<int>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<int>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
38 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2geography/coverings.cc -o s2geography/coverings.o
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<const S2ShapeIndexCell *>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<const S2ShapeIndexCell *>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2geography/geography.cc -o s2geography/geography.o
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2furthest_edge_query.h:396:29: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::S2ClosestEdgeQueryBase' requested here
  396 | inline S2FurthestEdgeQuery::S2FurthestEdgeQuery(const S2ShapeIndex* index,
      |                             ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2furthest_edge_query.h:396:29: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::S2ClosestEdgeQueryBase' requested here
  396 | inline S2FurthestEdgeQuery::S2FurthestEdgeQuery(const S2ShapeIndex* index,
      |                             ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MaxDistance>::Result &, S2ClosestEdgeQueryBase<S2MaxDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MaxDistance>::Result &, S2ClosestEdgeQueryBase<S2MaxDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2furthest_edge_query.h:396:29: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::S2ClosestEdgeQueryBase' requested here
  396 | inline S2FurthestEdgeQuery::S2FurthestEdgeQuery(const S2ShapeIndex* index,
      |                             ^
In file included from s2geography/distance.cc:2:
In file included from s2geography/distance.h:4:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MaxDistance>::Result &, S2ClosestEdgeQueryBase<S2MaxDistance>::Result *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MaxDistance>::Result &, S2ClosestEdgeQueryBase<S2MaxDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MaxDistance>::Result &, S2ClosestEdgeQueryBase<S2MaxDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2furthest_edge_query.h:396:29: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::S2ClosestEdgeQueryBase' requested here
  396 | inline S2FurthestEdgeQuery::S2FurthestEdgeQuery(const S2ShapeIndex* index,
      |                             ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2geography/build.cc:2:
In file included from s2geography/build.h:4:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<int>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<int>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
/usr/local/clang18/bin/../include/c++/v1/vector:926:60: note: in instantiation of template class 'gtl::compact_array<int>' requested here
  926 |       __alloc_traits::destroy(__alloc(), std::__to_address(--__soon_to_be_end));
      |                                                            ^
/usr/local/clang18/bin/../include/c++/v1/vector:920:5: note: in instantiation of member function 'std::vector<gtl::compact_array<int>>::__base_destruct_at_end' requested here
  920 |     __base_destruct_at_end(this->__begin_);
      |     ^
/usr/local/clang18/bin/../include/c++/v1/vector:490:16: note: in instantiation of member function 'std::vector<gtl::compact_array<int>>::__clear' requested here
  490 |         __vec_.__clear();
      |                ^
/usr/local/clang18/bin/../include/c++/v1/vector:501:67: note: in instantiation of member function 'std::vector<gtl::compact_array<int>>::__destroy_vector::operator()' requested here
  501 |   _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI ~vector() { __destroy_vector (*this)(); }
      |                                                                   ^
../src/s2/s2builder.h:134:7: note: in instantiation of member function 'std::vector<gtl::compact_array<int>>::~vector' requested here
  134 | class S2Builder {
      |       ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2geography/predicates.cc -o s2geography/predicates.o
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
39 warnings generated.
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
57 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/base/stringprintf.cc -o s2/base/stringprintf.o
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<int>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<int>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<int>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<int>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2geography/geography.cc:2:
In file included from s2geography/geography.h:4:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<const S2ShapeIndexCell *>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<const S2ShapeIndexCell *>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2geography/coverings.cc:2:
In file included from s2geography/coverings.h:4:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2geography/predicates.cc:2:
In file included from s2geography/predicates.h:4:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/base/strtoint.cc -o s2/base/strtoint.o
52 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/encoded_s2cell_id_vector.cc -o s2/encoded_s2cell_id_vector.o
57 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/encoded_s2point_vector.cc -o s2/encoded_s2point_vector.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/encoded_s2shape_index.cc -o s2/encoded_s2shape_index.o
38 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/encoded_string_vector.cc -o s2/encoded_string_vector.o
38 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/id_set_lexicon.cc -o s2/id_set_lexicon.o
In file included from s2/encoded_s2point_vector.cc:18:
In file included from ../src/s2/encoded_s2point_vector.h:22:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/encoded_s2cell_id_vector.cc:18:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/encoded_string_vector.cc:18:
In file included from ../src/s2/encoded_string_vector.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/encoded_s2point_vector.cc:18:
In file included from ../src/s2/encoded_s2point_vector.h:22:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/encoded_s2point_vector.cc:18:
In file included from ../src/s2/encoded_s2point_vector.h:22:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/encoded_s2point_vector.cc:18:
In file included from ../src/s2/encoded_s2point_vector.h:22:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/encoded_s2point_vector.cc:18:
In file included from ../src/s2/encoded_s2point_vector.h:22:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/encoded_s2point_vector.cc:18:
In file included from ../src/s2/encoded_s2point_vector.h:22:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/encoded_s2point_vector.cc:18:
In file included from ../src/s2/encoded_s2point_vector.h:22:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/encoded_s2point_vector.cc:18:
In file included from ../src/s2/encoded_s2point_vector.h:22:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/encoded_s2point_vector.cc:18:
In file included from ../src/s2/encoded_s2point_vector.h:22:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/encoded_s2point_vector.cc:18:
In file included from ../src/s2/encoded_s2point_vector.h:22:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
s2/encoded_s2point_vector.cc:446:10: warning: variable 'offset_bytes_sum' set but not used [-Wunused-but-set-variable]
  446 |   uint64 offset_bytes_sum = 0;
      |          ^
s2/encoded_s2point_vector.cc:447:10: warning: variable 'delta_nibbles_sum' set but not used [-Wunused-but-set-variable]
  447 |   uint64 delta_nibbles_sum = 0;
      |          ^
s2/encoded_s2point_vector.cc:448:10: warning: variable 'exceptions_sum' set but not used [-Wunused-but-set-variable]
  448 |   uint64 exceptions_sum = 0;
      |          ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/encoded_s2cell_id_vector.cc:18:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/encoded_s2cell_id_vector.cc:18:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/encoded_s2cell_id_vector.cc:18:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/encoded_s2cell_id_vector.cc:18:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/encoded_s2cell_id_vector.cc:18:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/encoded_s2cell_id_vector.cc:18:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/encoded_s2cell_id_vector.cc:18:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/encoded_s2cell_id_vector.cc:18:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/encoded_s2cell_id_vector.cc:18:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/encoded_string_vector.cc:18:
In file included from ../src/s2/encoded_string_vector.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/encoded_string_vector.cc:18:
In file included from ../src/s2/encoded_string_vector.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/encoded_string_vector.cc:18:
In file included from ../src/s2/encoded_string_vector.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/encoded_string_vector.cc:18:
In file included from ../src/s2/encoded_string_vector.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/encoded_string_vector.cc:18:
In file included from ../src/s2/encoded_string_vector.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/encoded_string_vector.cc:18:
In file included from ../src/s2/encoded_string_vector.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/encoded_string_vector.cc:18:
In file included from ../src/s2/encoded_string_vector.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/encoded_string_vector.cc:18:
In file included from ../src/s2/encoded_string_vector.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/encoded_string_vector.cc:18:
In file included from ../src/s2/encoded_string_vector.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
22 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/mutable_s2shape_index.cc -o s2/mutable_s2shape_index.o
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
19 warnings generated.
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
19 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/r2rect.cc -o s2/r2rect.o
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/encoded_s2shape_index.cc:18:
In file included from ../src/s2/encoded_s2shape_index.h:21:
In file included from ../src/s2/encoded_s2cell_id_vector.h:21:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
s2/encoded_s2shape_index.cc:158:41: warning: variable 'base' set but not used [-Wunused-but-set-variable]
  158 |     for (int i = cells_decoded_.size(), base = 0; --i >= 0; base += 64) {
      |                                         ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s1angle.cc -o s2/s1angle.o
39 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s1chord_angle.cc -o s2/s1chord_angle.o
In file included from s2/r2rect.cc:18:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s1interval.cc -o s2/s1interval.o
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/s1angle.cc:18:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
In file included from s2/s1chord_angle.cc:18:
In file included from ../src/s2/s1chord_angle.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2boolean_operation.cc -o s2/s2boolean_operation.o
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s1interval.cc:18:
In file included from ../src/s2/s1interval.h:27:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2builder_graph.cc -o s2/s2builder_graph.o
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:140:14: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::map_params<S2CellId, S2ShapeIndexCell *, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>, 256, false>, std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>>' requested here
  140 |     : public node_handle_base<PolicyTraits, Alloc> {
      |              ^
s2/mutable_s2shape_index.cc:1465:37: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::map_params<S2CellId, S2ShapeIndexCell *, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>, 256, false>, absl::container_internal::map_params<S2CellId, S2ShapeIndexCell *, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>, 256, false>, std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>>' requested here
 1465 |   cell_map_.insert(cell_map_.end(), std::make_pair(pcell.id(), cell));
      |                                     ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:140:14: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::map_params<S2CellId, S2ShapeIndexCell *, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>, 256, false>, std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>>' requested here
  140 |     : public node_handle_base<PolicyTraits, Alloc> {
      |              ^
s2/mutable_s2shape_index.cc:1465:37: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::map_params<S2CellId, S2ShapeIndexCell *, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>, 256, false>, absl::container_internal::map_params<S2CellId, S2ShapeIndexCell *, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>, 256, false>, std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>>' requested here
 1465 |   cell_map_.insert(cell_map_.end(), std::make_pair(pcell.id(), cell));
      |                                     ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2CellId, S2ShapeIndexCell *, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>, 256, false>>, std::pair<const S2CellId, S2ShapeIndexCell *> &, std::pair<const S2CellId, S2ShapeIndexCell *> *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2CellId, S2ShapeIndexCell *, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>, 256, false>>, std::pair<const S2CellId, S2ShapeIndexCell *> &, std::pair<const S2CellId, S2ShapeIndexCell *> *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<S2CellId, S2ShapeIndexCell *, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<S2CellId, S2ShapeIndexCell *, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
In file included from s2/mutable_s2shape_index.cc:18:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2CellId, S2ShapeIndexCell *, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>, 256, false>>, std::pair<const S2CellId, S2ShapeIndexCell *> &, std::pair<const S2CellId, S2ShapeIndexCell *> *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2CellId, S2ShapeIndexCell *, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>, 256, false>>, std::pair<const S2CellId, S2ShapeIndexCell *> &, std::pair<const S2CellId, S2ShapeIndexCell *> *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2CellId, S2ShapeIndexCell *, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>, 256, false>>, std::pair<const S2CellId, S2ShapeIndexCell *> &, std::pair<const S2CellId, S2ShapeIndexCell *> *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<S2CellId, S2ShapeIndexCell *, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<S2CellId, S2ShapeIndexCell *, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2ShapeIndexCell *>>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<(anonymous namespace)::CrossingGraphEdge>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<(anonymous namespace)::CrossingGraphEdge>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<(anonymous namespace)::CrossingGraphEdge>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<(anonymous namespace)::CrossingGraphEdge>, absl::is_trivially_copy_assignable<(anonymous namespace)::CrossingGraphEdge>, absl::is_trivially_destructible<(anonymous namespace)::CrossingGraphEdge>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<(anonymous namespace)::CrossingGraphEdge>, std::allocator<(anonymous namespace)::CrossingGraphEdge>>, absl::is_trivially_copy_constructible<(anonymous namespace)::CrossingGraphEdge>, absl::is_trivially_copy_assignable<(anonymous namespace)::CrossingGraphEdge>, absl::is_trivially_destructible<(anonymous namespace)::CrossingGraphEdge>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:256:3: note: (skipping 3 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
  256 |   ~InlinedVector() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/vector:926:23: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<absl::InlinedVector<(anonymous namespace)::CrossingGraphEdge, 2>>>::destroy<absl::InlinedVector<(anonymous namespace)::CrossingGraphEdge, 2>, void>' requested here
  926 |       __alloc_traits::destroy(__alloc(), std::__to_address(--__soon_to_be_end));
      |                       ^
/usr/local/clang18/bin/../include/c++/v1/vector:920:5: note: in instantiation of member function 'std::vector<absl::InlinedVector<(anonymous namespace)::CrossingGraphEdge, 2>>::__base_destruct_at_end' requested here
  920 |     __base_destruct_at_end(this->__begin_);
      |     ^
/usr/local/clang18/bin/../include/c++/v1/vector:490:16: note: in instantiation of member function 'std::vector<absl::InlinedVector<(anonymous namespace)::CrossingGraphEdge, 2>>::__clear' requested here
  490 |         __vec_.__clear();
      |                ^
/usr/local/clang18/bin/../include/c++/v1/vector:501:67: note: in instantiation of member function 'std::vector<absl::InlinedVector<(anonymous namespace)::CrossingGraphEdge, 2>>::__destroy_vector::operator()' requested here
  501 |   _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI ~vector() { __destroy_vector (*this)(); }
      |                                                                   ^
s2/s2boolean_operation.cc:337:35: note: in instantiation of member function 'std::vector<absl::InlinedVector<(anonymous namespace)::CrossingGraphEdge, 2>>::~vector' requested here
  337 |   vector<CrossingGraphEdgeVector> b_edges;
      |                                   ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<(anonymous namespace)::CrossingGraphEdge>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<(anonymous namespace)::CrossingGraphEdge>, absl::is_trivially_destructible<(anonymous namespace)::CrossingGraphEdge>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<(anonymous namespace)::CrossingGraphEdge>, absl::is_trivially_copy_assignable<(anonymous namespace)::CrossingGraphEdge>, absl::is_trivially_destructible<(anonymous namespace)::CrossingGraphEdge>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<(anonymous namespace)::CrossingGraphEdge>, std::allocator<(anonymous namespace)::CrossingGraphEdge>>, absl::is_trivially_copy_constructible<(anonymous namespace)::CrossingGraphEdge>, absl::is_trivially_copy_assignable<(anonymous namespace)::CrossingGraphEdge>, absl::is_trivially_destructible<(anonymous namespace)::CrossingGraphEdge>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:256:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<(anonymous namespace)::CrossingGraphEdge, 2, std::allocator<(anonymous namespace)::CrossingGraphEdge>>::~Storage' requested here
  256 |   ~InlinedVector() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/__memory/allocator.h:176:87: note: (skipping 2 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
  176 |   _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_HIDE_FROM_ABI void destroy(pointer __p) { __p->~_Tp(); }
      |                                                                                       ^
/usr/local/clang18/bin/../include/c++/v1/vector:926:23: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<absl::InlinedVector<(anonymous namespace)::CrossingGraphEdge, 2>>>::destroy<absl::InlinedVector<(anonymous namespace)::CrossingGraphEdge, 2>, void>' requested here
  926 |       __alloc_traits::destroy(__alloc(), std::__to_address(--__soon_to_be_end));
      |                       ^
/usr/local/clang18/bin/../include/c++/v1/vector:920:5: note: in instantiation of member function 'std::vector<absl::InlinedVector<(anonymous namespace)::CrossingGraphEdge, 2>>::__base_destruct_at_end' requested here
  920 |     __base_destruct_at_end(this->__begin_);
      |     ^
/usr/local/clang18/bin/../include/c++/v1/vector:490:16: note: in instantiation of member function 'std::vector<absl::InlinedVector<(anonymous namespace)::CrossingGraphEdge, 2>>::__clear' requested here
  490 |         __vec_.__clear();
      |                ^
/usr/local/clang18/bin/../include/c++/v1/vector:501:67: note: in instantiation of member function 'std::vector<absl::InlinedVector<(anonymous namespace)::CrossingGraphEdge, 2>>::__destroy_vector::operator()' requested here
  501 |   _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI ~vector() { __destroy_vector (*this)(); }
      |                                                                   ^
s2/s2boolean_operation.cc:337:35: note: in instantiation of member function 'std::vector<absl::InlinedVector<(anonymous namespace)::CrossingGraphEdge, 2>>::~vector' requested here
  337 |   vector<CrossingGraphEdgeVector> b_edges;
      |                                   ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<int, int, std::less<int>, std::allocator<std::pair<const int, int>>, 256, false>>, std::pair<const int, int> &, std::pair<const int, int> *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<int, int, std::less<int>, std::allocator<std::pair<const int, int>>, 256, false>>, std::pair<const int, int> &, std::pair<const int, int> *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<int, int, std::less<int>, std::allocator<std::pair<const int, int>>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<int, int, std::less<int>, std::allocator<std::pair<const int, int>>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
In file included from s2/s2builder_graph.cc:18:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<int, int, std::less<int>, std::allocator<std::pair<const int, int>>, 256, false>>, std::pair<const int, int> &, std::pair<const int, int> *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<int, int, std::less<int>, std::allocator<std::pair<const int, int>>, 256, false>>, std::pair<const int, int> &, std::pair<const int, int> *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<int, int, std::less<int>, std::allocator<std::pair<const int, int>>, 256, false>>, std::pair<const int, int> &, std::pair<const int, int> *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<int, int, std::less<int>, std::allocator<std::pair<const int, int>>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<int, int, std::less<int>, std::allocator<std::pair<const int, int>>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<int>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<int>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
/usr/local/clang18/bin/../include/c++/v1/vector:926:60: note: in instantiation of template class 'gtl::compact_array<int>' requested here
  926 |       __alloc_traits::destroy(__alloc(), std::__to_address(--__soon_to_be_end));
      |                                                            ^
/usr/local/clang18/bin/../include/c++/v1/vector:920:5: note: in instantiation of member function 'std::vector<gtl::compact_array<int>>::__base_destruct_at_end' requested here
  920 |     __base_destruct_at_end(this->__begin_);
      |     ^
/usr/local/clang18/bin/../include/c++/v1/vector:490:16: note: in instantiation of member function 'std::vector<gtl::compact_array<int>>::__clear' requested here
  490 |         __vec_.__clear();
      |                ^
/usr/local/clang18/bin/../include/c++/v1/vector:501:67: note: in instantiation of member function 'std::vector<gtl::compact_array<int>>::__destroy_vector::operator()' requested here
  501 |   _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI ~vector() { __destroy_vector (*this)(); }
      |                                                                   ^
../src/s2/s2builder.h:134:7: note: in instantiation of member function 'std::vector<gtl::compact_array<int>>::~vector' requested here
  134 | class S2Builder {
      |       ^
/usr/local/clang18/bin/../include/c++/v1/__memory/unique_ptr.h:266:7: note: in instantiation of member function 'std::default_delete<S2Builder>::operator()' requested here
  266 |       __ptr_.second()(__tmp);
      |       ^
/usr/local/clang18/bin/../include/c++/v1/__memory/unique_ptr.h:236:71: note: in instantiation of member function 'std::unique_ptr<S2Builder>::reset' requested here
  236 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 ~unique_ptr() { reset(); }
      |                                                                       ^
s2/s2boolean_operation.cc:808:12: note: in instantiation of member function 'std::unique_ptr<S2Builder>::~unique_ptr' requested here
  808 |   explicit Impl(S2BooleanOperation* op)
      |            ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2BooleanOperation::SourceId, int, std::less<S2BooleanOperation::SourceId>, std::allocator<std::pair<const S2BooleanOperation::SourceId, int>>, 256, false>>, std::pair<const S2BooleanOperation::SourceId, int> &, std::pair<const S2BooleanOperation::SourceId, int> *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2BooleanOperation::SourceId, int, std::less<S2BooleanOperation::SourceId>, std::allocator<std::pair<const S2BooleanOperation::SourceId, int>>, 256, false>>, std::pair<const S2BooleanOperation::SourceId, int> &, std::pair<const S2BooleanOperation::SourceId, int> *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<S2BooleanOperation::SourceId, int, std::less<S2BooleanOperation::SourceId>, std::allocator<std::pair<const S2BooleanOperation::SourceId, int>>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<S2BooleanOperation::SourceId, int, std::less<S2BooleanOperation::SourceId>, std::allocator<std::pair<const S2BooleanOperation::SourceId, int>>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
In file included from s2/s2boolean_operation.cc:66:
In file included from ../src/s2/s2boolean_operation.h:24:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2BooleanOperation::SourceId, int, std::less<S2BooleanOperation::SourceId>, std::allocator<std::pair<const S2BooleanOperation::SourceId, int>>, 256, false>>, std::pair<const S2BooleanOperation::SourceId, int> &, std::pair<const S2BooleanOperation::SourceId, int> *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2BooleanOperation::SourceId, int, std::less<S2BooleanOperation::SourceId>, std::allocator<std::pair<const S2BooleanOperation::SourceId, int>>, 256, false>>, std::pair<const S2BooleanOperation::SourceId, int> &, std::pair<const S2BooleanOperation::SourceId, int> *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2BooleanOperation::SourceId, int, std::less<S2BooleanOperation::SourceId>, std::allocator<std::pair<const S2BooleanOperation::SourceId, int>>, 256, false>>, std::pair<const S2BooleanOperation::SourceId, int> &, std::pair<const S2BooleanOperation::SourceId, int> *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<S2BooleanOperation::SourceId, int, std::less<S2BooleanOperation::SourceId>, std::allocator<std::pair<const S2BooleanOperation::SourceId, int>>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<S2BooleanOperation::SourceId, int, std::less<S2BooleanOperation::SourceId>, std::allocator<std::pair<const S2BooleanOperation::SourceId, int>>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
43 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2builder.cc -o s2/s2builder.o
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
41 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2builderutil_closed_set_normalizer.cc -o s2/s2builderutil_closed_set_normalizer.o
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<int>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<int>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<int>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<int>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
44 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2builderutil_find_polygon_degeneracies.cc -o s2/s2builderutil_find_polygon_degeneracies.o
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<int>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<int>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
s2/s2builder.cc:729:19: note: in instantiation of template class 'gtl::compact_array<int>' requested here
  729 |     auto* sites = &edge_sites_[e];
      |                   ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<const S2ShapeIndexCell *>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<const S2ShapeIndexCell *>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>, 256, true>>, std::pair<const S2CellId, S2PointIndex<int>::PointData> &, std::pair<const S2CellId, S2PointIndex<int>::PointData> *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>, 256, true>>, std::pair<const S2CellId, S2PointIndex<int>::PointData> &, std::pair<const S2CellId, S2PointIndex<int>::PointData> *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>, 256, true>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>, 256, true>>::~btree' requested here
   37 | class btree_container {
      |       ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>, 256, true>>, std::pair<const S2CellId, S2PointIndex<int>::PointData> &, std::pair<const S2CellId, S2PointIndex<int>::PointData> *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>, 256, true>>, std::pair<const S2CellId, S2PointIndex<int>::PointData> &, std::pair<const S2CellId, S2PointIndex<int>::PointData> *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>, 256, true>>, std::pair<const S2CellId, S2PointIndex<int>::PointData> &, std::pair<const S2CellId, S2PointIndex<int>::PointData> *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>, 256, true>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>, 256, true>>::~btree' requested here
   37 | class btree_container {
      |       ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:140:14: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>, 256, true>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>>' requested here
  140 |     : public node_handle_base<PolicyTraits, Alloc> {
      |              ^
../src/s2/s2point_index.h:226:15: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>, 256, true>, absl::container_internal::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>, 256, true>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>>' requested here
  226 |   map_.insert(std::make_pair(id, point_data));
      |               ^
../src/s2/s2point_index.h:231:3: note: in instantiation of member function 'S2PointIndex<int>::Add' requested here
  231 |   Add(PointData(point, data));
      |   ^
s2/s2builder.cc:635:17: note: in instantiation of member function 'S2PointIndex<int>::Add' requested here
  635 |     site_index->Add(sites_[id], id);
      |                 ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:140:14: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>, 256, true>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>>' requested here
  140 |     : public node_handle_base<PolicyTraits, Alloc> {
      |              ^
../src/s2/s2point_index.h:226:15: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>, 256, true>, absl::container_internal::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>, 256, true>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData>>>' requested here
  226 |   map_.insert(std::make_pair(id, point_data));
      |               ^
../src/s2/s2point_index.h:231:3: note: in instantiation of member function 'S2PointIndex<int>::Add' requested here
  231 |   Add(PointData(point, data));
      |   ^
s2/s2builder.cc:635:17: note: in instantiation of member function 'S2PointIndex<int>::Add' requested here
  635 |     site_index->Add(sites_[id], id);
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClosestPointQueryBase<S2MinDistance, int>::Result>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClosestPointQueryBase<S2MinDistance, int>::Result>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClosestPointQueryBase<S2MinDistance, int>::Result>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestPointQueryBase<S2MinDistance, int>::Result>, absl::is_trivially_copy_assignable<S2ClosestPointQueryBase<S2MinDistance, int>::Result>, absl::is_trivially_destructible<S2ClosestPointQueryBase<S2MinDistance, int>::Result>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestPointQueryBase<S2MinDistance, int>::Result>, std::allocator<S2ClosestPointQueryBase<S2MinDistance, int>::Result>>, absl::is_trivially_copy_constructible<S2ClosestPointQueryBase<S2MinDistance, int>::Result>, absl::is_trivially_copy_assignable<S2ClosestPointQueryBase<S2MinDistance, int>::Result>, absl::is_trivially_destructible<S2ClosestPointQueryBase<S2MinDistance, int>::Result>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestPointQueryBase<S2MinDistance, int>::Result, 16, std::allocator<S2ClosestPointQueryBase<S2MinDistance, int>::Result>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestPointQueryBase<S2MinDistance, int>::Result, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_point_query_base.h:398:42: note: in instantiation of member function 'std::priority_queue<S2ClosestPointQueryBase<S2MinDistance, int>::Result, absl::InlinedVector<S2ClosestPointQueryBase<S2MinDistance, int>::Result, 16>>::priority_queue' requested here
  398 | S2ClosestPointQueryBase<Distance, Data>::S2ClosestPointQueryBase() {
      |                                          ^
../src/s2/s2closest_point_query.h:362:35: note: in instantiation of member function 'S2ClosestPointQueryBase<S2MinDistance, int>::S2ClosestPointQueryBase' requested here
  362 | inline S2ClosestPointQuery<Data>::S2ClosestPointQuery(const Index* index,
      |                                   ^
s2/s2builder.cc:644:31: note: in instantiation of member function 'S2ClosestPointQuery<int>::S2ClosestPointQuery' requested here
  644 |   S2ClosestPointQuery<SiteId> site_query(site_index, options);
      |                               ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClosestPointQueryBase<S2MinDistance, int>::Result>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2ClosestPointQueryBase<S2MinDistance, int>::Result>, absl::is_trivially_destructible<S2ClosestPointQueryBase<S2MinDistance, int>::Result>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestPointQueryBase<S2MinDistance, int>::Result>, absl::is_trivially_copy_assignable<S2ClosestPointQueryBase<S2MinDistance, int>::Result>, absl::is_trivially_destructible<S2ClosestPointQueryBase<S2MinDistance, int>::Result>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestPointQueryBase<S2MinDistance, int>::Result>, std::allocator<S2ClosestPointQueryBase<S2MinDistance, int>::Result>>, absl::is_trivially_copy_constructible<S2ClosestPointQueryBase<S2MinDistance, int>::Result>, absl::is_trivially_copy_assignable<S2ClosestPointQueryBase<S2MinDistance, int>::Result>, absl::is_trivially_destructible<S2ClosestPointQueryBase<S2MinDistance, int>::Result>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestPointQueryBase<S2MinDistance, int>::Result, 16, std::allocator<S2ClosestPointQueryBase<S2MinDistance, int>::Result>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestPointQueryBase<S2MinDistance, int>::Result, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_point_query_base.h:398:42: note: in instantiation of member function 'std::priority_queue<S2ClosestPointQueryBase<S2MinDistance, int>::Result, absl::InlinedVector<S2ClosestPointQueryBase<S2MinDistance, int>::Result, 16>>::priority_queue' requested here
  398 | S2ClosestPointQueryBase<Distance, Data>::S2ClosestPointQueryBase() {
      |                                          ^
../src/s2/s2closest_point_query.h:362:35: note: in instantiation of member function 'S2ClosestPointQueryBase<S2MinDistance, int>::S2ClosestPointQueryBase' requested here
  362 | inline S2ClosestPointQuery<Data>::S2ClosestPointQuery(const Index* index,
      |                                   ^
s2/s2builder.cc:644:31: note: in instantiation of member function 'S2ClosestPointQuery<int>::S2ClosestPointQuery' requested here
  644 |   S2ClosestPointQuery<SiteId> site_query(site_index, options);
      |                               ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>, absl::is_trivially_destructible<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>, std::allocator<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>, absl::is_trivially_destructible<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry, 16, std::allocator<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_point_query_base.h:398:42: note: in instantiation of member function 'std::priority_queue<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry, absl::InlinedVector<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry, 16>>::priority_queue' requested here
  398 | S2ClosestPointQueryBase<Distance, Data>::S2ClosestPointQueryBase() {
      |                                          ^
../src/s2/s2closest_point_query.h:362:35: note: in instantiation of member function 'S2ClosestPointQueryBase<S2MinDistance, int>::S2ClosestPointQueryBase' requested here
  362 | inline S2ClosestPointQuery<Data>::S2ClosestPointQuery(const Index* index,
      |                                   ^
s2/s2builder.cc:644:31: note: in instantiation of member function 'S2ClosestPointQuery<int>::S2ClosestPointQuery' requested here
  644 |   S2ClosestPointQuery<SiteId> site_query(site_index, options);
      |                               ^
In file included from s2/s2builder.cc:70:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>, absl::is_trivially_destructible<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>, absl::is_trivially_destructible<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>, std::allocator<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>, absl::is_trivially_destructible<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry, 16, std::allocator<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_point_query_base.h:398:42: note: in instantiation of member function 'std::priority_queue<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry, absl::InlinedVector<S2ClosestPointQueryBase<S2MinDistance, int>::QueueEntry, 16>>::priority_queue' requested here
  398 | S2ClosestPointQueryBase<Distance, Data>::S2ClosestPointQueryBase() {
      |                                          ^
../src/s2/s2closest_point_query.h:362:35: note: in instantiation of member function 'S2ClosestPointQueryBase<S2MinDistance, int>::S2ClosestPointQueryBase' requested here
  362 | inline S2ClosestPointQuery<Data>::S2ClosestPointQuery(const Index* index,
      |                                   ^
s2/s2builder.cc:644:31: note: in instantiation of member function 'S2ClosestPointQuery<int>::S2ClosestPointQuery' requested here
  644 |   S2ClosestPointQuery<SiteId> site_query(site_index, options);
      |                               ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2builderutil_closed_set_normalizer.cc:18:
In file included from ../src/s2/s2builderutil_closed_set_normalizer.h:23:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>, std::pair<const Vector3<double>, int> &, std::pair<const Vector3<double>, int> *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>, std::pair<const Vector3<double>, int> &, std::pair<const Vector3<double>, int> *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
In file included from s2/s2builderutil_find_polygon_degeneracies.cc:18:
In file included from ../src/s2/s2builderutil_find_polygon_degeneracies.h:24:
In file included from ../src/s2/s2builder_graph.h:28:
In file included from ../src/s2/s2builder.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>, std::pair<const Vector3<double>, int> &, std::pair<const Vector3<double>, int> *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>, std::pair<const Vector3<double>, int> &, std::pair<const Vector3<double>, int> *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>, std::pair<const Vector3<double>, int> &, std::pair<const Vector3<double>, int> *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
38 warnings generated.
41 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2builderutil_lax_polygon_layer.cc -o s2/s2builderutil_lax_polygon_layer.o
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2builderutil_s2point_vector_layer.cc -o s2/s2builderutil_s2point_vector_layer.o
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2builderutil_lax_polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_lax_polygon_layer.h:38:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
38 warnings generated.
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2builderutil_s2point_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2point_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
38 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2builderutil_s2polygon_layer.cc -o s2/s2builderutil_s2polygon_layer.o
62 warnings generated.
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2Loop *, std::pair<int, bool>, std::less<S2Loop *>, std::allocator<std::pair<S2Loop *const, std::pair<int, bool>>>, 256, false>>, std::pair<S2Loop *const, std::pair<int, bool>> &, std::pair<S2Loop *const, std::pair<int, bool>> *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2Loop *, std::pair<int, bool>, std::less<S2Loop *>, std::allocator<std::pair<S2Loop *const, std::pair<int, bool>>>, 256, false>>, std::pair<S2Loop *const, std::pair<int, bool>> &, std::pair<S2Loop *const, std::pair<int, bool>> *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<S2Loop *, std::pair<int, bool>, std::less<S2Loop *>, std::allocator<std::pair<S2Loop *const, std::pair<int, bool>>>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<S2Loop *, std::pair<int, bool>, std::less<S2Loop *>, std::allocator<std::pair<S2Loop *const, std::pair<int, bool>>>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
In file included from s2/s2builderutil_s2polygon_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polygon_layer.h:39:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2Loop *, std::pair<int, bool>, std::less<S2Loop *>, std::allocator<std::pair<S2Loop *const, std::pair<int, bool>>>, 256, false>>, std::pair<S2Loop *const, std::pair<int, bool>> &, std::pair<S2Loop *const, std::pair<int, bool>> *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2Loop *, std::pair<int, bool>, std::less<S2Loop *>, std::allocator<std::pair<S2Loop *const, std::pair<int, bool>>>, 256, false>>, std::pair<S2Loop *const, std::pair<int, bool>> &, std::pair<S2Loop *const, std::pair<int, bool>> *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2Loop *, std::pair<int, bool>, std::less<S2Loop *>, std::allocator<std::pair<S2Loop *const, std::pair<int, bool>>>, 256, false>>, std::pair<S2Loop *const, std::pair<int, bool>> &, std::pair<S2Loop *const, std::pair<int, bool>> *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<S2Loop *, std::pair<int, bool>, std::less<S2Loop *>, std::allocator<std::pair<S2Loop *const, std::pair<int, bool>>>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<S2Loop *, std::pair<int, bool>, std::less<S2Loop *>, std::allocator<std::pair<S2Loop *const, std::pair<int, bool>>>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
41 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2builderutil_s2polyline_layer.cc -o s2/s2builderutil_s2polyline_layer.o
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, typ/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2builderutil_s2polyline_vector_layer.cc -o s2/s2builderutil_s2polyline_vector_layer.o
e_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2builderutil_s2polyline_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2builderutil_snap_functions.cc -o s2/s2builderutil_snap_functions.o
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
38 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2builderutil_testing.cc -o s2/s2builderutil_testing.o
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2builderutil_s2polyline_vector_layer.cc:18:
In file included from ../src/s2/s2builderutil_s2polyline_vector_layer.h:24:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2builderutil_snap_functions.cc:18:
In file included from ../src/s2/s2builderutil_snap_functions.h:22:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
38 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2cap.cc -o s2/s2cap.o
38 warnings generated.
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2builderutil_testing.cc:18:
In file included from ../src/s2/s2builderutil_testing.h:23:
In file included from ../src/absl/memory/memory.h:34:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2cell_id.cc -o s2/s2cell_id.o
38 warnings generated.
In file included from s2/s2cap.cc:18:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/s2cell_id.cc:18:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2cap.cc:18:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2cap.cc:18:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2cap.cc:18:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2cap.cc:18:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2cap.cc:18:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2cap.cc:18:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2cap.cc:18:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2cap.cc:18:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2cap.cc:18:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
19 warnings generated.
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2cell_id.cc:18:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2cell_id.cc:18:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2cell_id.cc:18:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2cell_id.cc:18:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2cell_id.cc:18:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2cell_id.cc:18:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2cell_id.cc:18:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2cell_id.cc:18:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2cell_id.cc:18:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2cell_id.cc:18:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2cell_id.cc:18:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2cell_id.cc:18:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2cell_id.cc:18:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2cell_id.cc:18:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2cell_id.cc:18:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2cell_id.cc:18:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2cell_id.cc:18:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2cell_id.cc:18:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2cell_id.cc:18:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
34 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2cell_index.cc -o s2/s2cell_index.o
In file included from s2/s2cell_index.cc:18:
In file included from ../src/s2/s2cell_index.h:24:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2cell_index.cc:18:
In file included from ../src/s2/s2cell_index.h:24:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2cell_index.cc:18:
In file included from ../src/s2/s2cell_index.h:24:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2cell_index.cc:18:
In file included from ../src/s2/s2cell_index.h:24:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2cell_index.cc:18:
In file included from ../src/s2/s2cell_index.h:24:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2cell_index.cc:18:
In file included from ../src/s2/s2cell_index.h:24:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2cell_index.cc:18:
In file included from ../src/s2/s2cell_index.h:24:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2cell_index.cc:18:
In file included from ../src/s2/s2cell_index.h:24:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2cell_index.cc:18:
In file included from ../src/s2/s2cell_index.h:24:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2cell_index.cc:18:
In file included from ../src/s2/s2cell_index.h:24:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
19 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2cell_union.cc -o s2/s2cell_union.o
In file included from s2/s2cell_union.cc:18:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2cell_union.cc:18:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2cell_union.cc:18:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2cell_union.cc:18:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2cell_union.cc:18:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2cell_union.cc:18:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2cell_union.cc:18:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2cell_union.cc:18:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2cell_union.cc:18:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2cell_union.cc:18:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
19 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2cell.cc -o s2/s2cell.o
In file included from s2/s2cell.cc:18:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2cell.cc:18:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2cell.cc:18:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2cell.cc:18:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2cell.cc:18:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2cell.cc:18:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2cell.cc:18:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2cell.cc:18:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2cell.cc:18:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2cell.cc:18:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2centroids.cc -o s2/s2centroids.o
19 warnings generated.
In file included from s2/s2centroids.cc:18:
In file included from ../src/s2/s2centroids.h:50:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2closest_cell_query.cc -o s2/s2closest_cell_query.o
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_cell_query_base.h:443:35: note: in instantiation of member function 'std::priority_queue<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  443 | S2ClosestCellQueryBase<Distance>::S2ClosestCellQueryBase()
      |                                   ^
../src/s2/s2closest_cell_query.h:336:28: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::S2ClosestCellQueryBase' requested here
  336 | inline S2ClosestCellQuery::S2ClosestCellQuery(const S2CellIndex* index,
      |                            ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_cell_query_base.h:443:35: note: in instantiation of member function 'std::priority_queue<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  443 | S2ClosestCellQueryBase<Distance>::S2ClosestCellQueryBase()
      |                                   ^
../src/s2/s2closest_cell_query.h:336:28: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::S2ClosestCellQueryBase' requested here
  336 | inline S2ClosestCellQuery::S2ClosestCellQuery(const S2CellIndex* index,
      |                            ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestCellQueryBase<S2MinDistance>::Result &, S2ClosestCellQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestCellQueryBase<S2MinDistance>::Result &, S2ClosestCellQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_cell_query.h:336:28: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::S2ClosestCellQueryBase' requested here
  336 | inline S2ClosestCellQuery::S2ClosestCellQuery(const S2CellIndex* index,
      |                            ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestCellQueryBase<S2MinDistance>::Result &, S2ClosestCellQueryBase<S2MinDistance>::Result *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestCellQueryBase<S2MinDistance>::Result &, S2ClosestCellQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestCellQueryBase<S2MinDistance>::Result &, S2ClosestCellQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_cell_query.h:336:28: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::S2ClosestCellQueryBase' requested here
  336 | inline S2ClosestCellQuery::S2ClosestCellQuery(const S2CellIndex* index,
      |                            ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all)
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_cell_query_base.h:780:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' requested here
  780 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_cell_query_base.h:584:5: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::MaybeAddResult' requested here
  584 |     MaybeAddResult(it.cell_id(), it.label());
      |     ^
../src/s2/s2closest_cell_query_base.h:572:5: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::FindClosestCellsBruteForce' requested here
  572 |     FindClosestCellsBruteForce();
      |     ^
../src/s2/s2closest_cell_query_base.h:499:3: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::FindClosestCellsInternal' requested here
  499 |   FindClosestCellsInternal(target, options);
      |   ^
../src/s2/s2closest_cell_query.h:370:9: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::FindClosestCells' requested here
  370 |   base_.FindClosestCells(target, options_, results);
      |         ^
In file included from s2/s2closest_cell_query.cc:18:
In file included from ../src/s2/s2closest_cell_query.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_cell_query_base.h:780:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' requested here
  780 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_cell_query_base.h:584:5: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::MaybeAddResult' requested here
  584 |     MaybeAddResult(it.cell_id(), it.label());
      |     ^
../src/s2/s2closest_cell_query_base.h:572:5: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::FindClosestCellsBruteForce' requested here
  572 |     FindClosestCellsBruteForce();
      |     ^
../src/s2/s2closest_cell_query_base.h:499:3: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::FindClosestCellsInternal' requested here
  499 |   FindClosestCellsInternal(target, options);
      |   ^
../src/s2/s2closest_cell_query.h:370:9: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::FindClosestCells' requested here
  370 |   base_.FindClosestCells(target, options_, results);
      |         ^
45 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2closest_edge_query.cc -o s2/s2closest_edge_query.o
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<int>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<int>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<int>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<int>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<const S2ShapeIndexCell *>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<const S2ShapeIndexCell *>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2/s2closest_edge_query.cc:18:
In file included from ../src/s2/s2closest_edge_query.h:28:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
52 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2closest_point_query.cc -o s2/s2closest_point_query.o
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2closest_point_query.cc:18:
In file included from ../src/s2/s2closest_point_query.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
38 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2contains_vertex_query.cc -o s2/s2contains_vertex_query.o
In file included from s2/s2contains_vertex_query.cc:18:
In file included from ../src/s2/s2contains_vertex_query.h:21:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2contains_vertex_query.cc:18:
In file included from ../src/s2/s2contains_vertex_query.h:21:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2contains_vertex_query.cc:18:
In file included from ../src/s2/s2contains_vertex_query.h:21:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2contains_vertex_query.cc:18:
In file included from ../src/s2/s2contains_vertex_query.h:21:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2contains_vertex_query.cc:18:
In file included from ../src/s2/s2contains_vertex_query.h:21:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2contains_vertex_query.cc:18:
In file included from ../src/s2/s2contains_vertex_query.h:21:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2contains_vertex_query.cc:18:
In file included from ../src/s2/s2contains_vertex_query.h:21:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2contains_vertex_query.cc:18:
In file included from ../src/s2/s2contains_vertex_query.h:21:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2contains_vertex_query.cc:18:
In file included from ../src/s2/s2contains_vertex_query.h:21:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2contains_vertex_query.cc:18:
In file included from ../src/s2/s2contains_vertex_query.h:21:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2contains_vertex_query.cc:18:
In file included from ../src/s2/s2contains_vertex_query.h:21:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2contains_vertex_query.cc:18:
In file included from ../src/s2/s2contains_vertex_query.h:21:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2convex_hull_query.cc -o s2/s2convex_hull_query.o
In file included from s2/s2contains_vertex_query.cc:18:
In file included from ../src/s2/s2contains_vertex_query.h:21:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2contains_vertex_query.cc:18:
In file included from ../src/s2/s2contains_vertex_query.h:21:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2contains_vertex_query.cc:18:
In file included from ../src/s2/s2contains_vertex_query.h:21:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>, std::pair<const Vector3<double>, int> &, std::pair<const Vector3<double>, int> *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>, std::pair<const Vector3<double>, int> &, std::pair<const Vector3<double>, int> *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
In file included from s2/s2contains_vertex_query.cc:18:
In file included from ../src/s2/s2contains_vertex_query.h:21:
In file included from ../src/absl/container/btree_map.h:53:
In file included from ../src/absl/container/internal/btree.h:63:
In file included from ../src/absl/container/internal/common.h:21:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>, std::pair<const Vector3<double>, int> &, std::pair<const Vector3<double>, int> *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>, std::pair<const Vector3<double>, int> &, std::pair<const Vector3<double>, int> *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>, std::pair<const Vector3<double>, int> &, std::pair<const Vector3<double>, int> *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
28 warnings generated.
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2convex_hull_query.cc:26:
In file included from ../src/s2/s2convex_hull_query.h:25:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
38 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2coords.cc -o s2/s2coords.o
In file included from s2/s2coords.cc:18:
In file included from ../src/s2/s2coords.h:105:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2crossing_edge_query.cc -o s2/s2crossing_edge_query.o
In file included from s2/s2crossing_edge_query.cc:18:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2crossing_edge_query.cc:18:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2crossing_edge_query.cc:18:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2crossing_edge_query.cc:18:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2crossing_edge_query.cc:18:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2crossing_edge_query.cc:18:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2crossing_edge_query.cc:18:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2crossing_edge_query.cc:18:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2crossing_edge_query.cc:18:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2crossing_edge_query.cc:18:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2crossing_edge_query.cc:18:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2crossing_edge_query.cc:18:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2crossing_edge_query.cc:18:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2::FaceSegment>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2::FaceSegment>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2::FaceSegment>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2::FaceSegment>, absl::is_trivially_copy_assignable<S2::FaceSegment>, absl::is_trivially_destructible<S2::FaceSegment>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2::FaceSegment>, std::allocator<S2::FaceSegment>>, absl::is_trivially_copy_constructible<S2::FaceSegment>, absl::is_trivially_copy_assignable<S2::FaceSegment>, absl::is_trivially_destructible<S2::FaceSegment>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2::FaceSegment, 6, std::allocator<S2::FaceSegment>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
s2/s2crossing_edge_query.cc:202:25: note: in instantiation of member function 'absl::InlinedVector<S2::FaceSegment, 6>::InlinedVector' requested here
  202 |   S2::FaceSegmentVector segments;
      |                         ^
In file included from s2/s2crossing_edge_query.cc:18:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2::FaceSegment>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2::FaceSegment>, absl::is_trivially_destructible<S2::FaceSegment>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2::FaceSegment>, absl::is_trivially_copy_assignable<S2::FaceSegment>, absl::is_trivially_destructible<S2::FaceSegment>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2::FaceSegment>, std::allocator<S2::FaceSegment>>, absl::is_trivially_copy_constructible<S2::FaceSegment>, absl::is_trivially_copy_assignable<S2::FaceSegment>, absl::is_trivially_destructible<S2::FaceSegment>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2::FaceSegment, 6, std::allocator<S2::FaceSegment>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
s2/s2crossing_edge_query.cc:202:25: note: in instantiation of member function 'absl::InlinedVector<S2::FaceSegment, 6>::InlinedVector' requested here
  202 |   S2::FaceSegmentVector segments;
      |                         ^
23 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2debug.cc -o s2/s2debug.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2earth.cc -o s2/s2earth.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2edge_clipping.cc -o s2/s2edge_clipping.o
In file included from s2/s2earth.cc:16:
In file included from ../src/s2/s2earth.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2edge_crosser.cc -o s2/s2edge_crosser.o
In file included from s2/s2edge_clipping.cc:18:
In file included from ../src/s2/s2edge_clipping.h:34:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/container/internal/inlined_vector.h:97:33: note: in instantiation of template class 'absl::is_trivially_destructible<S2::FaceSegment>' requested here
   97 |                           absl::is_trivially_destructible<ValueType<A>>::value>
      |                                 ^
../src/absl/container/inlined_vector.h:735:30: note: in instantiation of default argument for 'DestroyAdapter<std::allocator<S2::FaceSegment>>' required here
  735 |     inlined_vector_internal::DestroyAdapter<A>::DestroyElements(
      |                              ^~~~~~~~~~~~~~~~~
s2/s2edge_clipping.cc:214:13: note: in instantiation of member function 'absl::InlinedVector<S2::FaceSegment, 6>::clear' requested here
  214 |   segments->clear();
      |             ^
6 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2edge_crossings.cc -o s2/s2edge_crossings.o
In file included from s2/s2edge_crosser.cc:18:
In file included from ../src/s2/s2edge_crosser.h:23:
In file included from ../src/s2/s2edge_crossings.h:36:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2edge_distances.cc -o s2/s2edge_distances.o
In file included from s2/s2edge_crossings.cc:18:
In file included from ../src/s2/s2edge_crossings.h:36:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/s2edge_distances.cc:18:
In file included from ../src/s2/s2edge_distances.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2edge_tessellator.cc -o s2/s2edge_tessellator.o
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2error.cc -o s2/s2error.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2furthest_edge_query.cc -o s2/s2furthest_edge_query.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2latlng_rect_bounder.cc -o s2/s2latlng_rect_bounder.o
In file included from s2/s2edge_tessellator.cc:18:
In file included from ../src/s2/s2edge_tessellator.h:22:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2latlng_rect.cc -o s2/s2latlng_rect.o
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2latlng.cc -o s2/s2latlng.o
In file included from s2/s2latlng_rect_bounder.cc:18:
In file included from ../src/s2/s2latlng_rect_bounder.h:21:
In file included from ../src/s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2lax_loop_shape.cc -o s2/s2lax_loop_shape.o
In file included from s2/s2latlng_rect.cc:18:
In file included from ../src/s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2latlng.cc:18:
In file included from ../src/s2/s2latlng.h:28:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2lax_polygon_shape.cc -o s2/s2lax_polygon_shape.o
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2latlng_rect.cc:18:
In file included from ../src/s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2latlng_rect.cc:18:
In file included from ../src/s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2latlng_rect.cc:18:
In file included from ../src/s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2latlng_rect.cc:18:
In file included from ../src/s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2latlng_rect.cc:18:
In file included from ../src/s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2latlng_rect.cc:18:
In file included from ../src/s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2latlng_rect.cc:18:
In file included from ../src/s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<int>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<int>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<int>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<int>>' requested here
  183In file included from  | s2/s2latlng_rect.cc : 18 :
 In file included from  ../src/s2/s2latlng_rect.h : 27 :
 In file included from  ../src/s2/r1interval.h : 28 :
 In file included from a../src/s2/util/math/vector.hb:s34l:
:In file included from :../src/absl/utility/utility.hi:s50_:
tIn file included from r../src/absl/base/internal/invoke.hi:v64i:
a../src/absl/meta/type_traits.hl:l301y:_36c:o pwarning: ybuiltin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]_
assig  n301a | b l e < t:y psetnda:m:ei nsttedg:r:arle_mcoovnes_tcavn<t
<      b| o                    ^o
l, __../src/absl/types/optional.hh:a119s:_45t:rivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2latlng_rect.cc:18:
In file included from ../src/s2/s2latlng_rect.h:27:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
 note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<const S2ShapeIndexCell *>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<const S2ShapeIndexCell *>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2furthest_edge_query.h:396:29: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::S2ClosestEdgeQueryBase' requested here
  396 | inline S2FurthestEdgeQuery::S2FurthestEdgeQuery(const S2ShapeIndex* index,
      |                             ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2furthest_edge_query.h:396:29: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::S2ClosestEdgeQueryBase' requested here
  396 | inline S2FurthestEdgeQuery::S2FurthestEdgeQuery(const S2ShapeIndex* index,
      |                             ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2furthest_edge_query.h:396:29: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::S2ClosestEdgeQueryBase' requested here
  396 | inline S2FurthestEdgeQuery::S2FurthestEdgeQuery(const S2ShapeIndex* index,
      |                             ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2furthest_edge_query.h:396:29: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::S2ClosestEdgeQueryBase' requested here
  396 | inline S2FurthestEdgeQuery::S2FurthestEdgeQuery(const S2ShapeIndex* index,
      |                             ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MaxDistance>::Result &, S2ClosestEdgeQueryBase<S2MaxDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MaxDistance>::Result &, S2ClosestEdgeQueryBase<S2MaxDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2furthest_edge_query.h:396:29: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::S2ClosestEdgeQueryBase' requested here
  396 | inline S2FurthestEdgeQuery::S2FurthestEdgeQuery(const S2ShapeIndex* index,
      |                             ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MaxDistance>::Result &, S2ClosestEdgeQueryBase<S2MaxDistance>::Result *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MaxDistance>::Result &, S2ClosestEdgeQueryBase<S2MaxDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MaxDistance>::Result &, S2ClosestEdgeQueryBase<S2MaxDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2furthest_edge_query.h:396:29: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::S2ClosestEdgeQueryBase' requested here
  396 | inline S2FurthestEdgeQuery::S2FurthestEdgeQuery(const S2ShapeIndex* index,
      |                             ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query_base.h:515:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::FindClosestEdges' requested here
  515 |   FindClosestEdges(target, options, &results);
      |   ^
s2/s2furthest_edge_query.cc:75:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::FindClosestEdges' requested here
   75 |   for (auto result : base_.FindClosestEdges(target, options_)) {
      |                            ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query_base.h:515:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::FindClosestEdges' requested here
  515 |   FindClosestEdges(target, options, &results);
      |   ^
s2/s2furthest_edge_query.cc:75:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::FindClosestEdges' requested here
   75 |   for (auto result : base_.FindClosestEdges(target, options_)) {
      |                            ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all)
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query_base.h:515:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::FindClosestEdges' requested here
  515 |   FindClosestEdges(target, options, &results);
      |   ^
s2/s2furthest_edge_query.cc:75:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::FindClosestEdges' requested here
   75 |   for (auto result : base_.FindClosestEdges(target, options_)) {
      |                            ^
In file included from s2/s2furthest_edge_query.cc:16:
In file included from ../src/s2/s2furthest_edge_query.h:26:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query_base.h:515:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::FindClosestEdges' requested here
  515 |   FindClosestEdges(target, options, &results);
      |   ^
s2/s2furthest_edge_query.cc:75:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::FindClosestEdges' requested here
   75 |   for (auto result : base_.FindClosestEdges(target, options_)) {
      |                            ^
19 warnings generated.
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2lax_loop_shape.cc:18:
In file included from ../src/s2/s2lax_loop_shape.h:39:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
38 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2lax_polyline_shape.cc -o s2/s2lax_polyline_shape.o
52 warnings generated.
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2loop_measures.cc -o s2/s2loop_measures.o
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2lax_polygon_shape.ccIn file included from :18s2/s2lax_polyline_shape.cc:
:In file included from 18../src/s2/s2lax_polygon_shape.h:
:In file included from 24../src/s2/s2lax_polyline_shape.h:
:In file included from 23../src/absl/types/span.h:
:67:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::inteIn file included from gral_constant<bool, __has_tr../src/s2/encoded_s2point_vector.hi:v22i:
aIn file included from l../src/absl/types/span.h_:d67e:
s../src/absl/meta/type_traits.ht:r301u:c36t:o rwarning: (builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]T
) &&
      |                                    ^
  301 |     :../src/absl/meta/type_traits.h :s99t:d27::: inote: nin instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested heret
egra   l99_ | c o n s t a n t < b o o l ,   _ _ h a s _atbrsilv:i:ails__dtersitvriuacltloyr_(dTe)s t&r&u
c      t| i                                   ^b
le<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_c../src/absl/meta/type_traits.ho:p350y:_36c:o nwarning: sbuiltin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]t
ruct  i350b | l e < T >:: :svtadl:u:ei&n&t
e      g| r                              ^a
l_constant<bool, ../src/absl/types/optional.h_:_119h:a45s:_ tnote: rin instantiation of default argument for 'optional_data<absl::string_view>' required herei
vial_  c119o | ncsltarsusc tooprt(iTo)n a&l& 
:       | p                                   ^r
ivate optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2lax_polygon_shape.cc:18:
In file included from ../src/s2/s2lax_polygon_shape.h:24:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h../src/absl/types/internal/optional.h::494183::1721::  warning: note: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here

    183494 |  |                      b o o la,b s_l_:h:aiss__ttrriivviiaall_lays_sciogpny(_tayspseinganmaeb lset<dt:y:preenmaomvee _srtedf:e:rreenmcoev<eT_>c:v:<t
y      p| e                    ^)
 &&
../src/absl/types/optional.h      :| 119                ^:
45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/s2loop_measures.cc:18:
In file included from ../src/s2/s2loop_measures.h:33:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<int>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<int>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<int>, absl::is_trivially_copy_assignable<int>, absl::is_trivially_destructible<int>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<int>, std::allocator<int>>, absl::is_trivially_copy_constructible<int>, absl::is_trivially_copy_assignable<int>, absl::is_trivially_destructible<int>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<int, 4, std::allocator<int>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
s2/s2loop_measures.cc:282:31: note: in instantiation of member function 'absl::InlinedVector<int, 4>::InlinedVector' requested here
  282 |   absl::InlinedVector<int, 4> min_indices;
      |                               ^
In file included from s2/s2loop_measures.cc:18:
In file included from ../src/s2/s2loop_measures.h:33:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<int>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<int>, absl::is_trivially_destructible<int>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<int>, absl::is_trivially_copy_assignable<int>, absl::is_trivially_destructible<int>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<int>, std::allocator<int>>, absl::is_trivially_copy_constructible<int>, absl::is_trivially_copy_assignable<int>, absl::is_trivially_destructible<int>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<int, 4, std::allocator<int>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
s2/s2loop_measures.cc:282:31: note: in instantiation of member function 'absl::InlinedVector<int, 4>::InlinedVector' requested here
  282 |   absl::InlinedVector<int, 4> min_indices;
      |                               ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2loop.cc -o s2/s2loop.o
7 warnings generated.
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2lax_polyline_shape.cc:18:
In file included from ../src/s2/s2lax_polyline_shape.h:23:
In file included from ../src/s2/encoded_s2point_vector.h:22:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2lax_polyline_shape.cc:18:
In file included from ../src/s2/s2lax_polyline_shape.h:23:
In file included from ../src/s2/encoded_s2point_vector.h:22:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2lax_polyline_shape.cc:18:
In file included from ../src/s2/s2lax_polyline_shape.h:23:
In file included from ../src/s2/encoded_s2point_vector.h:22:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2lax_polyline_shape.cc:18:
In file included from ../src/s2/s2lax_polyline_shape.h:23:
In file included from ../src/s2/encoded_s2point_vector.h:22:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2lax_polyline_shape.cc:18:
In file included from ../src/s2/s2lax_polyline_shape.h:23:
In file included from ../src/s2/encoded_s2point_vector.h:22:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2lax_polyline_shape.cc:18:
In file included from ../src/s2/s2lax_polyline_shape.h:23:
In file included from ../src/s2/encoded_s2point_vector.h:22:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2lax_polyline_shape.cc:18:
In file included from ../src/s2/s2lax_polyline_shape.h:23:
In file included from ../src/s2/encoded_s2point_vector.h:22:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2lax_polyline_shape.cc:18:
In file included from ../src/s2/s2lax_polyline_shape.h:23:
In file included from ../src/s2/encoded_s2point_vector.h:22:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2lax_polyline_shape.cc:18:
In file included from ../src/s2/s2lax_polyline_shape.h:23:
In file included from ../src/s2/encoded_s2point_vector.h:22:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
38 warnings generated.
19 warnings generated.
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<int>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<int>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<int>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<int>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<const S2ShapeIndexCell *>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<const S2ShapeIndexCell *>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2/s2loop.cc:18:
In file included from ../src/s2/s2loop.h:31:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
52 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2max_distance_targets.cc -o s2/s2max_distance_targets.o
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<int>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<int>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<int>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<int>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2measures.cc -o s2/s2measures.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2metrics.cc -o s2/s2metrics.o
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<const S2ShapeIndexCell *>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<const S2ShapeIndexCell *>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2furthest_edge_query.h:396:29: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::S2ClosestEdgeQueryBase' requested here
  396 | inline S2FurthestEdgeQuery::S2FurthestEdgeQuery(const S2ShapeIndex* index,
      |                             ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2furthest_edge_query.h:396:29: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::S2ClosestEdgeQueryBase' requested here
  396 | inline S2FurthestEdgeQuery::S2FurthestEdgeQuery(const S2ShapeIndex* index,
      |                             ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2furthest_edge_query.h:396:29: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::S2ClosestEdgeQueryBase' requested here
  396 | inline S2FurthestEdgeQuery::S2FurthestEdgeQuery(const S2ShapeIndex* index,
      |                             ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MaxDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2furthest_edge_query.h:396:29: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::S2ClosestEdgeQueryBase' requested here
  396 | inline S2FurthestEdgeQuery::S2FurthestEdgeQuery(const S2ShapeIndex* index,
      |                             ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MaxDistance>::Result &, S2ClosestEdgeQueryBase<S2MaxDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MaxDistance>::Result &, S2ClosestEdgeQueryBase<S2MaxDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2furthest_edge_query.h:396:29: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::S2ClosestEdgeQueryBase' requested here
  396 | inline S2FurthestEdgeQuery::S2FurthestEdgeQuery(const S2ShapeIndex* index,
      |                             ^
In file included from s2/s2max_distance_targets.cc:16:
In file included from ../src/s2/s2max_distance_targets.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MaxDistance>::Result &, S2ClosestEdgeQueryBase<S2MaxDistance>::Result *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MaxDistance>::Result &, S2ClosestEdgeQueryBase<S2MaxDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MaxDistance>::Result &, S2ClosestEdgeQueryBase<S2MaxDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2furthest_edge_query.h:396:29: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MaxDistance>::S2ClosestEdgeQueryBase' requested here
  396 | inline S2FurthestEdgeQuery::S2FurthestEdgeQuery(const S2ShapeIndex* index,
      |                             ^
47 warnings generated.
In file included from s2/s2measures.cc:18:
In file included from ../src/s2/s2measures.h:24:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
In file included from s2/s2metrics.cc:31:
In file included from ../src/s2/s2metrics.h:34:
In file included from ../src/s2/s2coords.h:105:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2min_distance_targets.cc -o s2/s2min_distance_targets.o
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<int>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<int>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<int>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<int>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_cell_query_base.h:443:35: note: in instantiation of member function 'std::priority_queue<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  443 | S2ClosestCellQueryBase<Distance>::S2ClosestCellQueryBase()
      |                                   ^
../src/s2/s2closest_cell_query.h:336:28: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::S2ClosestCellQueryBase' requested here
  336 | inline S2ClosestCellQuery::S2ClosestCellQuery(const S2CellIndex* index,
      |                            ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_cell_query_base.h:443:35: note: in instantiation of member function 'std::priority_queue<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestCellQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  443 | S2ClosestCellQueryBase<Distance>::S2ClosestCellQueryBase()
      |                                   ^
../src/s2/s2closest_cell_query.h:336:28: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::S2ClosestCellQueryBase' requested here
  336 | inline S2ClosestCellQuery::S2ClosestCellQuery(const S2CellIndex* index,
      |                            ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestCellQueryBase<S2MinDistance>::Result &, S2ClosestCellQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestCellQueryBase<S2MinDistance>::Result &, S2ClosestCellQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_cell_query.h:336:28: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::S2ClosestCellQueryBase' requested here
  336 | inline S2ClosestCellQuery::S2ClosestCellQuery(const S2CellIndex* index,
      |                            ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestCellQueryBase<S2MinDistance>::Result &, S2ClosestCellQueryBase<S2MinDistance>::Result *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestCellQueryBase<S2MinDistance>::Result &, S2ClosestCellQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestCellQueryBase<S2MinDistance>::Result &, S2ClosestCellQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_cell_query.h:336:28: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::S2ClosestCellQueryBase' requested here
  336 | inline S2ClosestCellQuery::S2ClosestCellQuery(const S2CellIndex* index,
      |                            ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all)
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_cell_query_base.h:780:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' requested here
  780 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_cell_query_base.h:584:5: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::MaybeAddResult' requested here
  584 |     MaybeAddResult(it.cell_id(), it.label());
      |     ^
../src/s2/s2closest_cell_query_base.h:572:5: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::FindClosestCellsBruteForce' requested here
  572 |     FindClosestCellsBruteForce();
      |     ^
../src/s2/s2closest_cell_query_base.h:499:3: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::FindClosestCellsInternal' requested here
  499 |   FindClosestCellsInternal(target, options);
      |   ^
../src/s2/s2closest_cell_query.h:370:9: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::FindClosestCells' requested here
  370 |   base_.FindClosestCells(target, options_, results);
      |         ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_cell_query_base.h:780:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>>' requested here
  780 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_cell_query_base.h:584:5: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::MaybeAddResult' requested here
  584 |     MaybeAddResult(it.cell_id(), it.label());
      |     ^
../src/s2/s2closest_cell_query_base.h:572:5: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::FindClosestCellsBruteForce' requested here
  572 |     FindClosestCellsBruteForce();
      |     ^
../src/s2/s2closest_cell_query_base.h:499:3: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::FindClosestCellsInternal' requested here
  499 |   FindClosestCellsInternal(target, options);
      |   ^
../src/s2/s2closest_cell_query.h:370:9: note: in instantiation of member function 'S2ClosestCellQueryBase<S2MinDistance>::FindClosestCells' requested here
  370 |   base_.FindClosestCells(target, options_, results);
      |         ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<const S2ShapeIndexCell *>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<const S2ShapeIndexCell *>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2/s2min_distance_targets.cc:18:
In file included from ../src/s2/s2min_distance_targets.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
59 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2padded_cell.cc -o s2/s2padded_cell.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2point_compression.cc -o s2/s2point_compression.o
In file included from s2/s2padded_cell.cc:18:
In file included from ../src/s2/s2padded_cell.h:22:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2point_region.cc -o s2/s2point_region.o
In file included from s2/s2point_compression.cc:17:
In file included from ../src/s2/s2point_compression.h:49:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2padded_cell.cc:18:
In file included from ../src/s2/s2padded_cell.h:22:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2padded_cell.cc:18:
In file included from ../src/s2/s2padded_cell.h:22:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2padded_cell.cc:18:
In file included from ../src/s2/s2padded_cell.h:22:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2padded_cell.cc:18:
In file included from ../src/s2/s2padded_cell.h:22:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2padded_cell.cc:18:
In file included from ../src/s2/s2padded_cell.h:22:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2padded_cell.cc:18:
In file included from ../src/s2/s2padded_cell.h:22:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2padded_cell.cc:18:
In file included from ../src/s2/s2padded_cell.h:22:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2padded_cell.cc:18:
In file included from ../src/s2/s2padded_cell.h:22:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2padded_cell.cc:18:
In file included from ../src/s2/s2padded_cell.h:22:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
19 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2pointutil.cc -o s2/s2pointutil.o
In file included from s2/s2point_region.cc:18:
In file included from ../src/s2/s2point_region.h:23:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2point_compression.cc:17:
In file included from ../src/s2/s2point_compression.h:49:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2point_compression.cc:17:
In file included from ../src/s2/s2point_compression.h:49:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2point_compression.cc:17:
In file included from ../src/s2/s2point_compression.h:49:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2point_compression.cc:17:
In file included from ../src/s2/s2point_compression.h:49:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2point_compression.cc:17:
In file included from ../src/s2/s2point_compression.h:49:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2point_compression.cc:17:
In file included from ../src/s2/s2point_compression.h:49:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2point_compression.cc:17:
In file included from ../src/s2/s2point_compression.h:49:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2point_compression.cc:17:
In file included from ../src/s2/s2point_compression.h:49:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2point_compression.cc:17:
In file included from ../src/s2/s2point_compression.h:49:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2point_compression.cc:17:
In file included from ../src/s2/s2point_compression.h:49:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/container/fixed_array.h:100:19: note: in instantiation of template class 'absl::is_trivially_default_constructible<std::pair<int, int>>' requested here
  100 |     return !absl::is_trivially_default_constructible<StorageElement>::value;
      |                   ^
../src/absl/container/fixed_array.h:136:9: note: in instantiation of member function 'absl::FixedArray<std::pair<int, int>>::DefaultConstructorIsNonTrivial' requested here
  136 |     if (DefaultConstructorIsNonTrivial()) {
      |         ^
s2/s2point_compression.cc:320:36: note: in instantiation of member function 'absl::FixedArray<std::pair<int, int>>::FixedArray' requested here
  320 |   absl::FixedArray<pair<int, int>> vertices_pi_qi(points.size());
      |                                    ^
In file included from s2/s2point_compression.cc:17:
In file included from ../src/s2/s2point_compression.h:49:
In file included from ../src/absl/types/span.h:67:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:352:36: note: in instantiation of template class 'absl::is_trivially_destructible<std::pair<int, int>>' requested here
  352 |                                    is_trivially_destructible<T>::value> {
      |                                    ^
../src/absl/container/fixed_array.h:100:19: note: in instantiation of template class 'absl::is_trivially_default_constructible<std::pair<int, int>>' requested here
  100 |     return !absl::is_trivially_default_constructible<StorageElement>::value;
      |                   ^
../src/absl/container/fixed_array.h:136:9: note: in instantiation of member function 'absl::FixedArray<std::pair<int, int>>::DefaultConstructorIsNonTrivial' requested here
  136 |     if (DefaultConstructorIsNonTrivial()) {
      |         ^
s2/s2point_compression.cc:320:36: note: in instantiation of member function 'absl::FixedArray<std::pair<int, int>>::FixedArray' requested here
  320 |   absl::FixedArray<pair<int, int>> vertices_pi_qi(points.size());
      |                                    ^
s2/s2point_compression.cc:169:12: warning: unused function 'STtoPiQi' [-Wunused-function]
  169 | inline int STtoPiQi(double s, int level) {
      |            ^~~~~~~~
In file included from s2/s2pointutil.cc:18:
In file included from ../src/s2/s2pointutil.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2polygon.cc -o s2/s2polygon.o
22 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2polyline_alignment.cc -o s2/s2polyline_alignment.o
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2point_region.cc:18:
In file included from ../src/s2/s2point_region.h:23:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2point_region.cc:18:
In file included from ../src/s2/s2point_region.h:23:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2point_region.cc:18:
In file included from ../src/s2/s2point_region.h:23:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2point_region.cc:18:
In file included from ../src/s2/s2point_region.h:23:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2point_region.cc:18:
In file included from ../src/s2/s2point_region.h:23:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2point_region.cc:18:
In file included from ../src/s2/s2point_region.h:23:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2point_region.cc:18:
In file included from ../src/s2/s2point_region.h:23:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2point_region.cc:18:
In file included from ../src/s2/s2point_region.h:23:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2point_region.cc:18:
In file included from ../src/s2/s2point_region.h:23:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
19 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2polyline_measures.cc -o s2/s2polyline_measures.o
In file included from s2/s2polyline_alignment.cc:17:
In file included from ../src/s2/s2polyline_alignment.h:23:
In file included from ../src/s2/s2polyline.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2polyline_simplifier.cc -o s2/s2polyline_simplifier.o
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/s2polyline_measures.cc:18:
In file included from ../src/s2/s2polyline_measures.h:29:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2polyline.cc -o s2/s2polyline.o
5 warnings generated.
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2polyline_simplifier.cc:18:
In file included from ../src/s2/s2polyline_simplifier.h:61:
In file included from ../src/s2/s1chord_angle.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
5 warnings generated.
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<int>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<int>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<int>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<int>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2predicates.cc -o s2/s2predicates.o
In file included from s2/s2polyline.cc:18:
In file included from ../src/s2/s2polyline.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<const S2ShapeIndexCell *>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<const S2ShapeIndexCell *>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2polyline.cc:18:
In file included from ../src/s2/s2polyline.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2polyline.cc:18:
In file included from ../src/s2/s2polyline.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2polyline.cc:18:
In file included from ../src/s2/s2polyline.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : publiIn file included from cs2/s2polyline.cc :n18o:
dIn file included from e../src/s2/s2polyline.h_:h26a:
nIn file included from d../src/s2/s1angle.hl:e28_:
bIn file included from a../src/s2/s2point.hs:e22<:
PIn file included from o../src/s2/util/math/vector.hl:i34c:
yIn file included from T../src/absl/utility/utility.hr:a50i:
tIn file included from s../src/absl/base/internal/invoke.h,: 64A:
l../src/absl/meta/type_traits.hl:o559c:>8 :{ 
warning:       builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]| 
                           ^
  559 |    ../src/s2/s2closest_edge_query_base.h : 867 :(24_:_ hnote: ain instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested heres
_tr  i867v | i a l _ croepsyu(lEtx_tseentt_s.Rienmsoevretd()r e|s|u l!tk)I;s
C      o| p                       ^y
OrM../src/s2/s2closest_edge_query_base.ho:v577e:C7o:n snote: tin instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested herer
uct  i577b | l e )   & & 
A      d| d       ^R
esul../src/absl/meta/type_traits.ht:(571R:e39s:u lnote: tin instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here(
Dist  a571n | c e : : Z e r o ( ) ,b osohla,p et_yipde,_ t-r1a)i)t;s
_      i| n      ^t
ern../src/s2/s2closest_edge_query_base.ha:l532:::3i:s _note: tin instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested herer
ivi  a532l | l y _FcionpdyCalbolsee_sitmEpdlg<eTs>I:n:tkeVranlaule(>t a{r}g;e
t      ,|                                        ^o
ptio../src/absl/base/casts.hn:s155):;41
:       | note:   ^in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here

../src/s2/s2closest_edge_query.h:  395155: | 9 :   note:  in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here 
      395  |      b a s e _ .tFyipned_Ctlroasietsst_Eidngteesr(ntaalr:g:eits,_ torpitviioanlsl_y,_ croepsyualbtlse)<;S
o      u| r        ^c
e>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2polyline.cc:18:
In file included from ../src/s2/s2polyline.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:../src/absl/meta/type_traits.h34::
301In file included from :../src/absl/utility/utility.h36::50 :
warning: In file included from builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]../src/absl/base/internal/invoke.h
:64:
  ../src/absl/meta/type_traits.h301: | 494 : 17 :  :warning:  builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]s
td::i  n494t | e g r a l _ c o n s tbaonotl<,b o_o_lh,a s___thraisv_itarli_vaisasli_gdne(sttyrpuecntaomre( Ts)t d&:&:
r      e| m                                   ^o
ve_r../src/absl/meta/type_traits.he:f562e:r7e:n cnote: ein instantiation of template class 'absl::is_trivially_destructible<double>' requested here<
T>:  :562t | y p e )   & &i
s      _| t                ^r
iviall../src/absl/types/internal/optional.hy:_183d:e21s:t rnote: uin instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested herec
tib  l183e | < E x t e n t s R e m o v e da>b:s:lv:a:liuse_ t&r&i
v      i| a      ^l
ly_../src/absl/meta/type_traits.hc:o571p:y39_:a snote: sin instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested herei
gnab  l571e | < t y p e n a m e   sbtodo:l:,r etmyopvee__tcrva<i
t      s| _                    ^i
ntern../src/absl/types/optional.ha:l119:::45i:s _note: tin instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required herer
ivia  l119l | yc_lcaospsy aobpltei_oinmapll <:T >p:r:ikvVaatleu eo>p t{i}o;n
a      l| _                                      ^i
nter../src/absl/base/casts.hn:a155l::41::o pnote: tin instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested herei
onal  _155d | a t a < T > , 
        |                                              ^~~~~~~~~~~~~~~~ 
      ../src/absl/container/internal/common.h :t113y:p34e:_ tnote: rin instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested herea
its  _113i | n t earbnsall::::oipst_itorniavli<aallllyo_ccaotpoyra_btlyep<eS>o uarlcleo>c:_: v=a l{u}e; 
&      &| 
                                 ^      
|                                         ^
../src/absl/base/casts.h../src/absl/container/internal/common.h::163120::2328::  note: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here

    163120 |  | icnllaisnse  ncoodnes_theaxnpdrl eD e:s tp ubbilti_cc ansotd(ec_ohnasntd lSeo_ubracsee&< PsooluirccyeT)r a{i
t      s| ,                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
All  o164c | >   {r
e      t| u                           ^r
n __builti../src/s2/s2closest_edge_query_base.hn:_867b:i24t:_ cnote: ain instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested heres
t(  D867e | s t ,   sroeusruclet)_;s
e      t| _  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.
i  n165s | e}r
t      (| r~e
sult)../src/s2/util/endian/endian.h;:
661      :| 36                       ^:
 note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]../src/s2/s2closest_edge_query_base.h
:577:  7661: |   note:  in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here 
 re  t577u | r n   E n d iAadndCRleassusl:t:(FRreosmuHlots(tD6i4s(taabnscle::::bZietr_oc(a)s,t <suhianpte6_4i>d(,v )-)1;)
)      ;| 
                                   ^      
|       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2/s2polyline.cc:18:
In file included from ../src/s2/s2polyline.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2polyline.cc:18:
In file included from ../src/s2/s2polyline.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2polyline.cc:18:
In file included from ../src/s2/s2polyline.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2polyline.cc:18:
In file included from ../src/s2/s2polyline.h:26:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2predicates.cc:18:
In file included from ../src/s2/s2predicates.h:38:
In file included from ../src/s2/s1chord_angle.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/container/fixed_array.h:100:19: note: in instantiation of template class 'absl::is_trivially_default_constructible<S2XYZFaceSiTi>' requested here
  100 |     return !absl::is_trivially_default_constructible<StorageElement>::value;
      |                   ^
../src/absl/container/fixed_array.h:136:9: note: in instantiation of member function 'absl::FixedArray<S2XYZFaceSiTi>::DefaultConstructorIsNonTrivial' requested here
  136 |     if (DefaultConstructorIsNonTrivial()) {
      |         ^
s2/s2polygon.cc:666:35: note: in instantiation of member function 'absl::FixedArray<S2XYZFaceSiTi>::FixedArray' requested here
  666 |   absl::FixedArray<S2XYZFaceSiTi> all_vertices(num_vertices_);
      |                                   ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:352:36: note: in instantiation of template class 'absl::is_trivially_destructible<S2XYZFaceSiTi>' requested here
  352 |                                    is_trivially_destructible<T>::value> {
      |                                    ^
../src/absl/container/fixed_array.h:100:19: note: in instantiation of template class 'absl::is_trivially_default_constructible<S2XYZFaceSiTi>' requested here
  100 |     return !absl::is_trivially_default_constructible<StorageElement>::value;
      |                   ^
../src/absl/container/fixed_array.h:136:9: note: in instantiation of member function 'absl::FixedArray<S2XYZFaceSiTi>::DefaultConstructorIsNonTrivial' requested here
  136 |     if (DefaultConstructorIsNonTrivial()) {
      |         ^
s2/s2polygon.cc:666:35: note: in instantiation of member function 'absl::FixedArray<S2XYZFaceSiTi>::FixedArray' requested here
  666 |   absl::FixedArray<S2XYZFaceSiTi> all_vertices(num_vertices_);
      |                                   ^
In file included from s2/s2polygon.cc:18:
In file included from ../src/s2/s2polygon.h:29:
In file included from ../src/s2/mutable_s2shape_index.h:34:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<int>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<int>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
/usr/local/clang18/bin/../include/c++/v1/vector:926:60: note: in instantiation of template class 'gtl::compact_array<int>' requested here
  926 |       __alloc_traits::destroy(__alloc(), std::__to_address(--__soon_to_be_end));
      |                                                            ^
/usr/local/clang18/bin/../include/c++/v1/vector:920:5: note: in instantiation of member function 'std::vector<gtl::compact_array<int>>::__base_destruct_at_end' requested here
  920 |     __base_destruct_at_end(this->__begin_);
      |     ^
/usr/local/clang18/bin/../include/c++/v1/vector:490:16: note: in instantiation of member function 'std::vector<gtl::compact_array<int>>::__clear' requested here
  490 |         __vec_.__clear();
      |                ^
/usr/local/clang18/bin/../include/c++/v1/vector:501:67: note: in instantiation of member function 'std::vector<gtl::compact_array<int>>::__destroy_vector::operator()' requested here
  501 |   _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI ~vector() { __destroy_vector (*this)(); }
      |                                                                   ^
../src/s2/s2builder.h:134:7: note: in instantiation of member function 'std::vector<gtl::compact_array<int>>::~vector' requested here
  134 | class S2Builder {
      |       ^
19 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2projections.cc -o s2/s2projections.o
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2r2rect.cc -o s2/s2r2rect.o
In file included from s2/s2projections.cc:18:
In file included from ../src/s2/s2projections.h:25:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2region_coverer.cc -o s2/s2region_coverer.o
In file included from s2/s2r2rect.cc:18:
In file included from ../src/s2/s2r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2r2rect.cc:18:
In file included from ../src/s2/s2r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2r2rect.cc:18:
In file included from ../src/s2/s2r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2r2rect.cc:18:
In file included from ../src/s2/s2r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2r2rect.cc:18:
In file included from ../src/s2/s2r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2r2rect.cc:18:
In file included from ../src/s2/s2r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2r2rect.cc:18:
In file included from ../src/s2/s2r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2r2rect.cc:18:
In file included from ../src/s2/s2r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2r2rect.cc:18:
In file included from ../src/s2/s2r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2r2rect.cc:18:
In file included from ../src/s2/s2r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2region_coverer.cc:18:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
19 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2region_intersection.cc -o s2/s2region_intersection.o
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2region_coverer.cc:18:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2region_coverer.cc:18:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2region_coverer.cc:18:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2region_coverer.cc:18:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2region_coverer.cc:18:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2region_coverer.cc:18:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2region_coverer.cc:18:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2region_coverer.cc:18:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2region_coverer.cc:18:
In file included from ../src/s2/s2region_coverer.h:29:
In file included from ../src/s2/s2cell.h:24:
In file included from ../src/s2/r2rect.h:25:
In file included from ../src/s2/r1interval.h:28:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
55 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2region_term_indexer.cc -o s2/s2region_term_indexer.o
In file included from s2/s2region_intersection.cc:17:
In file included from ../src/s2/s2region_intersection.h:25:
In file included from ../src/s2/s2region.h:24:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2region_union.cc -o s2/s2region_union.o
5 warnings generated.
19 warnings generated.
In file included from s2/s2region_term_indexer.cc:75:
In file included from ../src/s2/s2region_term_indexer.h:103:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/s2region_union.cc:18:
In file included from ../src/s2/s2region_union.h:26:
In file included from ../src/s2/s2region.h:24:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2region_term_indexer.cc:75:
In file included from ../src/s2/s2region_term_indexer.h:103:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2region_term_indexer.cc:75:
In file included from ../src/s2/s2region_term_indexer.h:103:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2region_term_indexer.cc:75:
In file included from ../src/s2/s2region_term_indexer.h:103:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2region_term_indexer.cc:75:
In file included from ../src/s2/s2region_term_indexer.h:103:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2region_term_indexer.cc:75:
In file included from ../src/s2/s2region_term_indexer.h:103:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2region_term_indexer.cc:75:
In file included from ../src/s2/s2region_term_indexer.h:103:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2region_term_indexer.cc:75:
In file included from ../src/s2/s2region_term_indexer.h:103:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2region_term_indexer.cc:75:
In file included from ../src/s2/s2region_term_indexer.h:103:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2region_term_indexer.cc:75:
In file included from ../src/s2/s2region_term_indexer.h:103:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2region_term_indexer.cc:75:
In file included from ../src/s2/s2region_term_indexer.h:103:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2region_term_indexer.cc:75:
In file included from ../src/s2/s2region_term_indexer.h:103:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2region_term_indexer.cc:75:
In file included from ../src/s2/s2region_term_indexer.h:103:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2region_term_indexer.cc:75:
In file included from ../src/s2/s2region_term_indexer.h:103:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2region_term_indexer.cc:75:
In file included from ../src/s2/s2region_term_indexer.h:103:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2region_term_indexer.cc:75:
In file included from ../src/s2/s2region_term_indexer.h:103:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2region_term_indexer.cc:75:
In file included from ../src/s2/s2region_term_indexer.h:103:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2region_term_indexer.cc:75:
In file included from ../src/s2/s2region_term_indexer.h:103:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2region_term_indexer.cc:75:
In file included from ../src/s2/s2region_term_indexer.h:103:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2region_term_indexer.cc:75:
In file included from ../src/s2/s2region_term_indexer.h:103:
In file included from ../src/s2/s2cell_union.h:27:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2region.cc -o s2/s2region.o
34 warnings generated.
In file included from s2/s2region.cc:18:
In file included from ../src/s2/s2region.h:24:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2shape_index_buffered_region.cc -o s2/s2shape_index_buffered_region.o
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<int>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<int>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<int>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<int>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<int>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<int>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:573:46: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>, std::allocator<int>>' requested here
  573 |           shape_ids.insert(containing_shape->id());
      |                                              ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<const S2ShapeIndexCell *>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<const S2ShapeIndexCell *>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<const S2ShapeIndexCell *>, std::allocator<const S2ShapeIndexCell *>>, absl::is_trivially_copy_constructible<const S2ShapeIndexCell *>, absl::is_trivially_copy_assignable<const S2ShapeIndexCell *>, absl::is_trivially_destructible<const S2ShapeIndexCell *>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<const S2ShapeIndexCell *, 6, std::allocator<const S2ShapeIndexCell *>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'absl::InlinedVector<const S2ShapeIndexCell *, 6>::InlinedVector' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>, absl::is_trivially_copy_constructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_copy_assignable<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>, absl::is_trivially_destructible<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
/usr/local/clang18/bin/../include/c++/v1/queue:537:9: note: in instantiation of member function 'absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>::InlinedVector' requested here
  537 |       : c(), comp() {}
      |         ^
../src/s2/s2closest_edge_query_base.h:473:35: note: in instantiation of member function 'std::priority_queue<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, absl::InlinedVector<S2ClosestEdgeQueryBase<S2MinDistance>::QueueEntry, 16>>::priority_queue' requested here
  473 | S2ClosestEdgeQueryBase<Distance>::S2ClosestEdgeQueryBase()
      |                                   ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>, S2ClosestEdgeQueryBase<S2MinDistance>::Result &, S2ClosestEdgeQueryBase<S2MinDistance>::Result *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query.h:361:28: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::S2ClosestEdgeQueryBase' requested here
  361 | inline S2ClosestEdgeQuery::S2ClosestEdgeQuery(const S2ShapeIndex* index,
      |                            ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>, int &, int *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::set_params<int, std::less<int>, std::allocator<int>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
In file included from s2/s2shape_index_buffered_region.cc:18:
In file included from ../src/s2/s2shape_index_buffered_region.h:22:
In file included from ../src/s2/s2cap.h:28:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/container/internal/common.h:113:34: note: in instantiation of template class 'absl::optional<std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  113 |   absl::optional<allocator_type> alloc_ = {};
      |                                  ^
../src/absl/container/internal/common.h:120:28: note: in instantiation of template class 'absl::container_internal::node_handle_base<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  120 | class node_handle : public node_handle_base<PolicyTraits, Alloc> {
      |                            ^
../src/s2/s2closest_edge_query_base.h:867:24: note: in instantiation of template class 'absl::container_internal::node_handle<absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, absl::container_internal::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>>' requested here
  867 |     result_set_.insert(result);
      |                        ^
../src/s2/s2closest_edge_query_base.h:577:7: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::AddResult' requested here
  577 |       AddResult(Result(Distance::Zero(), shape_id, -1));
      |       ^
../src/s2/s2closest_edge_query_base.h:532:3: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdgesInternal' requested here
  532 |   FindClosestEdgesInternal(target, options);
      |   ^
../src/s2/s2closest_edge_query.h:395:9: note: in instantiation of member function 'S2ClosestEdgeQueryBase<S2MinDistance>::FindClosestEdges' requested here
  395 |   base_.FindClosestEdges(target, options_, results);
      |         ^
52 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2shape_index_measures.cc -o s2/s2shape_index_measures.o
In file included from s2/s2shape_index_measures.cc:18:
In file included from ../src/s2/s2shape_index_measures.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shape_index_measures.cc:18:
In file included from ../src/s2/s2shape_index_measures.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shape_index_measures.cc:18:
In file included from ../src/s2/s2shape_index_measures.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shape_index_measures.cc:18:
In file included from ../src/s2/s2shape_index_measures.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shape_index_measures.cc:18:
In file included from ../src/s2/s2shape_index_measures.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shape_index_measures.cc:18:
In file included from ../src/s2/s2shape_index_measures.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shape_index_measures.cc:18:
In file included from ../src/s2/s2shape_index_measures.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shape_index_measures.cc:18:
In file included from ../src/s2/s2shape_index_measures.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shape_index_measures.cc:18:
In file included from ../src/s2/s2shape_index_measures.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2shape_index_measures.cc:18:
In file included from ../src/s2/s2shape_index_measures.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2shape_index_measures.cc:18:
In file included from ../src/s2/s2shape_index_measures.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2shape_index_measures.cc:18:
In file included from ../src/s2/s2shape_index_measures.h:25:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
21 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2shape_index.cc -o s2/s2shape_index.o
In file included from s2/s2shape_index.cc:18:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2shape_measures.cc -o s2/s2shape_measures.o
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shape_index.cc:18:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shape_index.cc:18:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shape_index.cc:18:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shape_index.cc:18:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shape_index.cc:18:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shape_index.cc:18:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shape_index.cc:18:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shape_index.cc:18:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2shape_index.cc:18:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2shape_index.cc:18:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2shape_index.cc:18:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2shape_index.cc:18:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/s2/util/gtl/compact_array.h:351:16: note: in instantiation of template class 'absl::is_trivially_default_constructible<S2ClippedShape>' requested here
  351 |         !absl::is_trivially_default_constructible<value_type>::value) {
      |                ^
s2/s2shape_index.cc:53:11: note: in instantiation of member function 'gtl::compact_array_base<S2ClippedShape>::resize' requested here
   53 |   shapes_.resize(size + n);
      |           ^
22 warnings generated.
In file included from s2/s2shape_measures.cc:18:
In file included from ../src/s2/s2shape_measures.h:27:
In file included from ../src/s2/s1angle.h:28:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2shapeutil_build_polygon_boundaries.cc -o s2/s2shapeutil_build_polygon_boundaries.o
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2shapeutil_coding.cc -o s2/s2shapeutil_coding.o
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2Shape *, std::vector<S2Shape *>, std::less<S2Shape *>, std::allocator<std::pair<S2Shape *const, std::vector<S2Shape *>>>, 256, false>>, std::pair<S2Shape *const, std::vector<S2Shape *>> &, std::pair<S2Shape *const, std::vector<S2Shape *>> *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2Shape *, std::vector<S2Shape *>, std::less<S2Shape *>, std::allocator<std::pair<S2Shape *const, std::vector<S2Shape *>>>, 256, false>>, std::pair<S2Shape *const, std::vector<S2Shape *>> &, std::pair<S2Shape *const, std::vector<S2Shape *>> *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<S2Shape *, std::vector<S2Shape *>, std::less<S2Shape *>, std::allocator<std::pair<S2Shape *const, std::vector<S2Shape *>>>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<S2Shape *, std::vector<S2Shape *>, std::less<S2Shape *>, std::allocator<std::pair<S2Shape *const, std::vector<S2Shape *>>>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
In file included from s2/s2shapeutil_build_polygon_boundaries.cc:18:
In file included from ../src/s2/s2shapeutil_build_polygon_boundaries.h:23:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2Shape *, std::vector<S2Shape *>, std::less<S2Shape *>, std::allocator<std::pair<S2Shape *const, std::vector<S2Shape *>>>, 256, false>>, std::pair<S2Shape *const, std::vector<S2Shape *>> &, std::pair<S2Shape *const, std::vector<S2Shape *>> *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2Shape *, std::vector<S2Shape *>, std::less<S2Shape *>, std::allocator<std::pair<S2Shape *const, std::vector<S2Shape *>>>, 256, false>>, std::pair<S2Shape *const, std::vector<S2Shape *>> &, std::pair<S2Shape *const, std::vector<S2Shape *>> *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<S2Shape *, std::vector<S2Shape *>, std::less<S2Shape *>, std::allocator<std::pair<S2Shape *const, std::vector<S2Shape *>>>, 256, false>>, std::pair<S2Shape *const, std::vector<S2Shape *>> &, std::pair<S2Shape *const, std::vector<S2Shape *>> *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<S2Shape *, std::vector<S2Shape *>, std::less<S2Shape *>, std::allocator<std::pair<S2Shape *const, std::vector<S2Shape *>>>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<S2Shape *, std::vector<S2Shape *>, std::less<S2Shape *>, std::allocator<std::pair<S2Shape *const, std::vector<S2Shape *>>>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2shapeutil_coding.cc:18:
In file included from ../src/s2/s2shapeutil_coding.h:41:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
41 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2shapeutil_contains_brute_force.cc -o s2/s2shapeutil_contains_brute_force.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2shapeutil_edge_iterator.cc -o s2/s2shapeutil_edge_iterator.o
In file included from s2/s2shapeutil_contains_brute_force.cc:18:
In file included from ../src/s2/s2shapeutil_contains_brute_force.h:21:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
38 warnings generated.
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_contains_brute_force.cc:18:
In file included from ../src/s2/s2shapeutil_contains_brute_force.h:21:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_contains_brute_force.cc:18:
In file included from ../src/s2/s2shapeutil_contains_brute_force.h:21:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_contains_brute_force.cc:18:
In file included from ../src/s2/s2shapeutil_contains_brute_force.h:21:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_contains_brute_force.cc:18:
In file included from ../src/s2/s2shapeutil_contains_brute_force.h:21:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_contains_brute_force.cc:18:
In file included from ../src/s2/s2shapeutil_contains_brute_force.h:21:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_contains_brute_force.cc:18:
In file included from ../src/s2/s2shapeutil_contains_brute_force.h:21:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_contains_brute_force.cc:18:
In file included from ../src/s2/s2shapeutil_contains_brute_force.h:21:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_contains_brute_force.cc:18:
In file included from ../src/s2/s2shapeutil_contains_brute_force.h:21:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2shapeutil_contains_brute_force.cc:18:
In file included from ../src/s2/s2shapeutil_contains_brute_force.h:21:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2shapeutil_contains_brute_force.cc:18:
In file included from ../src/s2/s2shapeutil_contains_brute_force.h:21:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2shapeutil_contains_brute_force.cc:18:
In file included from ../src/s2/s2shapeutil_contains_brute_force.h:21:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
21 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2shapeutil_get_reference_point.cc -o s2/s2shapeutil_get_reference_point.o
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_edge_iterator.cc:16:
In file included from ../src/s2/s2shapeutil_edge_iterator.h:19:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
36 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2shapeutil_range_iterator.cc -o s2/s2shapeutil_range_iterator.o
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/s2shapeutil_range_iterator.cc:18:
In file included from ../src/s2/s2shapeutil_range_iterator.h:21:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>, std::pair<const Vector3<double>, int> &, std::pair<const Vector3<double>, int> *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>, std::pair<const Vector3<double>, int> &, std::pair<const Vector3<double>, int> *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
In file included from s2/s2shapeutil_get_reference_point.cc:18:
In file included from ../src/s2/s2shapeutil_get_reference_point.h:21:
In file included from ../src/s2/s2shape_index.h:38:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>, std::pair<const Vector3<double>, int> &, std::pair<const Vector3<double>, int> *>>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>, std::pair<const Vector3<double>, int> &, std::pair<const Vector3<double>, int> *>>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/container/internal/btree.h:2068:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<absl::container_internal::btree_iterator<absl::container_internal::btree_node<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>, std::pair<const Vector3<double>, int> &, std::pair<const Vector3<double>, int> *>>' requested here
 2068 |   static_assert(type_traits_internal::is_trivially_copyable<iterator>::value,
      |                                       ^
../src/absl/container/internal/btree.h:1345:19: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>::static_assert_validation' requested here
 1345 |     static_assert(static_assert_validation(), "This call must be elided.");
      |                   ^
../src/absl/container/internal/btree_container.h:37:7: note: in instantiation of member function 'absl::container_internal::btree<absl::container_internal::map_params<Vector3<double>, int, std::less<Vector3<double>>, std::allocator<std::pair<const Vector3<double>, int>>, 256, false>>::~btree' requested here
   37 | class btree_container {
      |       ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_range_iterator.cc:18:
In file included from ../src/s2/s2shapeutil_range_iterator.h:21:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_range_iterator.cc:18:
In file included from ../src/s2/s2shapeutil_range_iterator.h:21:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_range_iterator.cc:18:
In file included from ../src/s2/s2shapeutil_range_iterator.h:21:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_range_iterator.cc:18:
In file included from ../src/s2/s2shapeutil_range_iterator.h:21:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_range_iterator.cc:18:
In file included from ../src/s2/s2shapeutil_range_iterator.h:21:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_range_iterator.cc:18:
In file included from ../src/s2/s2shapeutil_range_iterator.h:21:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_range_iterator.cc:18:
In file included from ../src/s2/s2shapeutil_range_iterator.h:21:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_range_iterator.cc:18:
In file included from ../src/s2/s2shapeutil_range_iterator.h:21:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2shapeutil_range_iterator.cc:18:
In file included from ../src/s2/s2shapeutil_range_iterator.h:21:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2shapeutil_range_iterator.cc:18:
In file included from ../src/s2/s2shapeutil_range_iterator.h:21:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2shapeutil_range_iterator.cc:18:
In file included from ../src/s2/s2shapeutil_range_iterator.h:21:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
21 warnings generated.
41 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2shapeutil_visit_crossing_edge_pairs.cc -o s2/s2shapeutil_visit_crossing_edge_pairs.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2testing.cc -o s2/s2testing.o
In file included from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18:
In file included from ../src/s2/s2shapeutil_visit_crossing_edge_pairs.h:22:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18:
In file included from ../src/s2/s2shapeutil_visit_crossing_edge_pairs.h:22:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18:
In file included from ../src/s2/s2shapeutil_visit_crossing_edge_pairs.h:22:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18:
In file included from ../src/s2/s2shapeutil_visit_crossing_edge_pairs.h:22:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18:
In file included from ../src/s2/s2shapeutil_visit_crossing_edge_pairs.h:22:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18:
In file included from ../src/s2/s2shapeutil_visit_crossing_edge_pairs.h:22:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18:
In file included from ../src/s2/s2shapeutil_visit_crossing_edge_pairs.h:22:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18:
In file included from ../src/s2/s2shapeutil_visit_crossing_edge_pairs.h:22:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18:
In file included from ../src/s2/s2shapeutil_visit_crossing_edge_pairs.h:22:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18:
In file included from ../src/s2/s2shapeutil_visit_crossing_edge_pairs.h:22:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18:
In file included from ../src/s2/s2shapeutil_visit_crossing_edge_pairs.h:22:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18:
In file included from ../src/s2/s2shapeutil_visit_crossing_edge_pairs.h:22:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18:
In file included from ../src/s2/s2shapeutil_visit_crossing_edge_pairs.h:22:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/container/internal/inlined_vector.h:97:33: note: in instantiation of template class 'absl::is_trivially_destructible<s2shapeutil::ShapeEdge>' requested here
   97 |                           absl::is_trivially_destructible<ValueType<A>>::value>
      |                                 ^
../src/absl/container/internal/inlined_vector.h:772:3: note: in instantiation of default argument for 'DestroyAdapter<std::allocator<s2shapeutil::ShapeEdge>>' required here
  772 |   DestroyAdapter<A>::DestroyElements(GetAllocator(), storage_view.data,
      |   ^~~~~~~~~~~~~~~~~
../src/absl/container/internal/inlined_vector.h:745:10: note: in instantiation of function template specialization 'absl::inlined_vector_internal::Storage<s2shapeutil::ShapeEdge, 16, std::allocator<s2shapeutil::ShapeEdge>>::EmplaceBackSlow<s2shapeutil::ShapeEdge>' requested here
  745 |   return EmplaceBackSlow(std::forward<Args>(args)...);
      |          ^
../src/absl/container/inlined_vector.h:676:21: note: in instantiation of function template specialization 'absl::inlined_vector_internal::Storage<s2shapeutil::ShapeEdge, 16, std::allocator<s2shapeutil::ShapeEdge>>::EmplaceBack<s2shapeutil::ShapeEdge>' requested here
  676 |     return storage_.EmplaceBack(std::forward<Args>(args)...);
      |                     ^
../src/absl/container/inlined_vector.h:687:23: note: in instantiation of function template specialization 'absl::InlinedVector<s2shapeutil::ShapeEdge, 16>::emplace_back<s2shapeutil::ShapeEdge>' requested here
  687 |     static_cast<void>(emplace_back(std::move(v)));
      |                       ^
s2/s2shapeutil_visit_crossing_edge_pairs.cc:44:20: note: in instantiation of member function 'absl::InlinedVector<s2shapeutil::ShapeEdge, 16>::push_back' requested here
   44 |       shape_edges->push_back(ShapeEdge(shape, clipped.edge(i)));
      |                    ^
In file included from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18:
In file included from ../src/s2/s2shapeutil_visit_crossing_edge_pairs.h:22:
In file included from ../src/s2/s2crossing_edge_query.h:25:
In file included from ../src/absl/container/inlined_vector.h:53:
In file included from ../src/absl/container/internal/inlined_vector.h:30:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:234:24: note: in instantiation of template class 'absl::is_trivially_copy_assignable<s2shapeutil::ShapeEdge>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |                        ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_assignable<s2shapeutil::ShapeEdge>, absl::is_trivially_destructible<s2shapeutil::ShapeEdge>>' requested here
  234 |     : std::conditional<T::value, conjunction<Ts...>, T>::type {};
      |       ^
../src/absl/meta/type_traits.h:234:7: note: in instantiation of template class 'absl::conjunction<absl::is_trivially_copy_constructible<s2shapeutil::ShapeEdge>, absl::is_trivially_copy_assignable<s2shapeutil::ShapeEdge>, absl::is_trivially_destructible<s2shapeutil::ShapeEdge>>' requested here
../src/absl/container/internal/inlined_vector.h:321:16: note: in instantiation of template class 'absl::conjunction<std::is_same<std::allocator<s2shapeutil::ShapeEdge>, std::allocator<s2shapeutil::ShapeEdge>>, absl::is_trivially_copy_constructible<s2shapeutil::ShapeEdge>, absl::is_trivially_copy_assignable<s2shapeutil::ShapeEdge>, absl::is_trivially_destructible<s2shapeutil::ShapeEdge>>' requested here
  321 |     } else if (IsMemcpyOk<A>::value) {
      |                ^
../src/absl/container/inlined_vector.h:117:3: note: in instantiation of member function 'absl::inlined_vector_internal::Storage<s2shapeutil::ShapeEdge, 16, std::allocator<s2shapeutil::ShapeEdge>>::~Storage' requested here
  117 |   InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {}
      |   ^
s2/s2shapeutil_visit_crossing_edge_pairs.cc:116:19: note: in instantiation of member function 'absl::InlinedVector<s2shapeutil::ShapeEdge, 16>::InlinedVector' requested here
  116 |   ShapeEdgeVector shape_edges;
      |                   ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2text_format.cc -o s2/s2text_format.o
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2testing.cc:19:
In file included from ../src/s2/s2testing.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
23 warnings generated.
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
38 warnings generated.
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<S2ClippedShape>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<S2ClippedShape>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/gtl/compact_array.h:508:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<S2ClippedShape>' requested here
  508 |   static_assert(absl::is_trivially_copy_constructible<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/gtl/compact_array.h:509:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<S2ClippedShape>' requested here
  509 |                 absl::is_trivially_copy_assignable<value_type>::value &&
      |                       ^
../src/s2/util/gtl/compact_array.h:528:30: note: in instantiation of template class 'gtl::compact_array_base<S2ClippedShape>' requested here
  528 | class compact_array : public compact_array_base<T, A> {
      |                              ^
../src/s2/s2shape_index.h:157:21: note: in instantiation of template class 'gtl::compact_array<S2ClippedShape>' requested here
  157 |   S2ClippedShapeSet shapes_;
      |                     ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<short>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned short>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned short>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned short>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint16_t, Source = int16_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:143:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint16_t, Source = int16_t, $2 = (no value)]
  143 |   return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
      |                                       ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<int>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32_t, Source = int32_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:146:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32_t, Source = int32_t, $2 = (no value)]
  146 |   return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
      |                                       ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<long>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64_t, Source = int64_t]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/absl/base/internal/endian.h:149:39: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64_t, Source = int64_t, $2 = (no value)]
  149 |   return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
      |                                       ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<absl::string_view>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<absl::string_view>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/absl/types/internal/optional.h:182:31: note: in instantiation of template class 'absl::is_trivially_copy_constructible<absl::string_view>' requested here
  182 |           bool unused = absl::is_trivially_copy_constructible<T>::value&&
      |                               ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
In file included from s2/s2text_format.cc:16:
In file included from ../src/s2/s2text_format.h:32:
In file included from ../src/s2/s2cell_id.h:31:
In file included from ../src/s2/r2.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/types/internal/optional.h:183:21: note: in instantiation of template class 'absl::is_trivially_copy_assignable<absl::string_view>' requested here
  183 |               absl::is_trivially_copy_assignable<typename std::remove_cv<
      |                     ^
../src/absl/types/optional.h:119:45: note: in instantiation of default argument for 'optional_data<absl::string_view>' required here
  119 | class optional : private optional_internal::optional_data<T>,
      |                                             ^~~~~~~~~~~~~~~~
../src/absl/strings/cord.h:745:54: note: in instantiation of template class 'absl::optional<absl::string_view>' requested here
  745 |     absl::optional<absl::string_view> maybe_flat = c.TryFlat();
      |                                                      ^
38 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/s2wedge_relations.cc -o s2/s2wedge_relations.o
In file included from s2/s2wedge_relations.cc:18:
In file included from ../src/s2/s2wedge_relations.h:24:
In file included from ../src/s2/s2point.h:22:
In file included from ../src/s2/util/math/vector.h:34:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/strings/ostringstream.cc -o s2/strings/ostringstream.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/strings/serialize.cc -o s2/strings/serialize.o
In file included from s2/strings/serialize.cc:21:
In file included from ../src/absl/strings/str_split.h:48:
In file included from ../src/absl/strings/internal/str_split_internal.h:42:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/util/bits/bit-interleave.cc -o s2/util/bits/bit-interleave.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/util/bits/bits.cc -o s2/util/bits/bits.o
In file included from s2/util/bits/bits.cc:19:
In file included from ../src/s2/util/bits/bits.h:48:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
5 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/util/coding/coder.cc -o s2/util/coding/coder.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/util/coding/varint.cc -o s2/util/coding/varint.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/util/math/exactfloat/exactfloat.cc -o s2/util/math/exactfloat/exactfloat.o
In file included from s2/util/coding/coder.cc:19:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
In file included from s2/util/coding/varint.cc:17:
In file included from ../src/s2/util/coding/varint.h:41:
In file included from ../src/s2/util/bits/bits.h:48:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/util/coding/coder.cc:19:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<float>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<float>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<float>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/util/coding/coder.cc:19:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/util/coding/coder.cc:19:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned int>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned int>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned int>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint32, Source = float]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:645:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint32, Source = float, $2 = (no value)]
  645 |     return EndianClass::FromHost32(absl::bit_cast<uint32>(v));
      |                                    ^
In file included from s2/util/coding/coder.cc:19:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/util/coding/coder.cc:19:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<double>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<double>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:155:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<double>' requested here
  155 |                   type_traits_internal::is_trivially_copyable<Source>::value &&
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/util/coding/coder.cc:19:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/util/coding/coder.cc:19:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:562:7: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned long long>' requested here
  562 |       is_trivially_destructible<ExtentsRemoved>::value &&
      |       ^
../src/absl/meta/type_traits.h:571:39: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable_impl<unsigned long long>' requested here
  571 |           bool, type_traits_internal::is_trivially_copyable_impl<T>::kValue> {};
      |                                       ^
../src/absl/base/casts.h:156:41: note: in instantiation of template class 'absl::type_traits_internal::is_trivially_copyable<unsigned long long>' requested here
  156 |                   type_traits_internal::is_trivially_copyable<Dest>::value
      |                                         ^
../src/absl/base/casts.h:163:23: note: while substituting prior template arguments into non-type template parameter [with Dest = uint64, Source = double]
  163 | inline constexpr Dest bit_cast(const Source& source) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |   return __builtin_bit_cast(Dest, source);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 | }
      | ~
../src/s2/util/endian/endian.h:661:36: note: while substituting deduced template arguments into function template 'bit_cast' [with Dest = uint64, Source = double, $2 = (no value)]
  661 |     return EndianClass::FromHost64(absl::bit_cast<uint64>(v));
      |                                    ^
In file included from s2/util/coding/coder.cc:19:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:99:27: note: in instantiation of template class 'absl::is_trivially_destructible<Decoder>' requested here
   99 |                     absl::is_trivially_destructible<T>::value> {};
      |                           ^
../src/absl/meta/type_traits.h:422:41: note: in instantiation of template class 'absl::type_traits_internal::IsTriviallyCopyConstructibleObject<Decoder>' requested here
  422 |           std::is_lvalue_reference<T>>::type::type {
      |                                         ^
../src/s2/util/coding/coder.h:458:23: note: in instantiation of template class 'absl::is_trivially_copy_constructible<Decoder>' requested here
  458 |   static_assert(absl::is_trivially_copy_constructible<Decoder>::value,
      |                       ^
In file included from s2/util/coding/coder.cc:19:
In file included from ../src/s2/util/coding/coder.h:26:
In file included from ../src/s2/base/casts.h:32:
In file included from ../src/absl/base/casts.h:38:
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/s2/util/coding/coder.h:460:23: note: in instantiation of template class 'absl::is_trivially_copy_assignable<Decoder>' requested here
  460 |   static_assert(absl::is_trivially_copy_assignable<Decoder>::value,
      |                       ^
19 warnings generated.
In file included from s2/util/math/exactfloat/exactfloat.cc:33:
In file included from ../src/absl/container/fixed_array.h:50:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:494:17: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  494 |           bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
      |                 ^
../src/absl/meta/type_traits.h:559:8: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
  559 |       (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
      |        ^
../src/absl/meta/type_traits.h:560:8: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
  560 |       (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
      |        ^
../src/absl/meta/type_traits.h:350:36: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins]
  350 |     : std::integral_constant<bool, __has_trivial_constructor(T) &&
      |                                    ^
../src/absl/container/fixed_array.h:100:19: note: in instantiation of template class 'absl::is_trivially_default_constructible<unsigned char>' requested here
  100 |     return !absl::is_trivially_default_constructible<StorageElement>::value;
      |                   ^
../src/absl/container/fixed_array.h:136:9: note: in instantiation of member function 'absl::FixedArray<unsigned char>::DefaultConstructorIsNonTrivial' requested here
  136 |     if (DefaultConstructorIsNonTrivial()) {
      |         ^
s2/util/math/exactfloat/exactfloat.cc:153:35: note: in instantiation of member function 'absl::FixedArray<unsigned char>::FixedArray' requested here
  153 |   absl::FixedArray<unsigned char> bytes(BN_num_bytes(bn));
      |                                   ^
In file included from s2/util/math/exactfloat/exactfloat.cc:33:
In file included from ../src/absl/container/fixed_array.h:50:
In file included from ../src/absl/container/internal/compressed_tuple.h:40:
In file included from ../src/absl/utility/utility.h:50:
In file included from ../src/absl/base/internal/invoke.h:64:
../src/absl/meta/type_traits.h:301:36: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
  301 |     : std::integral_constant<bool, __has_trivial_destructor(T) &&
      |                                    ^
../src/absl/meta/type_traits.h:352:36: note: in instantiation of template class 'absl::is_trivially_destructible<unsigned char>' requested here
  352 |                                    is_trivially_destructible<T>::value> {
      |                                    ^
../src/absl/container/fixed_array.h:100:19: note: in instantiation of template class 'absl::is_trivially_default_constructible<unsigned char>' requested here
  100 |     return !absl::is_trivially_default_constructible<StorageElement>::value;
      |                   ^
../src/absl/container/fixed_array.h:136:9: note: in instantiation of member function 'absl::FixedArray<unsigned char>::DefaultConstructorIsNonTrivial' requested here
  136 |     if (DefaultConstructorIsNonTrivial()) {
      |         ^
s2/util/math/exactfloat/exactfloat.cc:153:35: note: in instantiation of member function 'absl::FixedArray<unsigned char>::FixedArray' requested here
  153 |   absl::FixedArray<unsigned char> bytes(BN_num_bytes(bn));
      |                                   ^
5 warnings generated.
7 warnings generated.
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/util/math/mathutil.cc -o s2/util/math/mathutil.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -I"/data/gannet/ripley/R/R-clang/include" -DNDEBUG -I../src -DSTRICT_R_HEADERS -I'/data/gannet/ripley/R/test-clang/Rcpp/include' -I'/data/gannet/ripley/R/test-clang/wk/include' -isystem /usr/local/clang18/include -I/usr/local/clang/include   -DOPENSSL_SUPPRESS_DEPRECATED -DIS_LITTLE_ENDIAN -pthread -fpic  -O3 -Wall -pedantic -frtti -Wp,-D_FORTIFY_SOURCE=3   -c s2/util/units/length-units.cc -o s2/util/units/length-units.o
/usr/local/clang18/bin/clang++ -std=gnu++11 -shared -L/usr/local/clang/lib64 -L/usr/local/clang18/lib -L/usr/local/clang18/lib/x86_64-unknown-linux-gnu -L/usr/local/gcc13/lib64 -L/usr/local/lib64 -o s2.so absl/base/internal/cycleclock.o absl/base/internal/low_level_alloc.o absl/base/internal/raw_logging.o absl/base/internal/scoped_set_env.o absl/base/internal/spinlock_wait.o absl/base/internal/spinlock.o absl/base/internal/strerror.o absl/base/internal/sysinfo.o absl/base/internal/thread_identity.o absl/base/internal/throw_delegate.o absl/base/internal/unscaledcycleclock.o absl/base/log_severity.o absl/container/internal/hashtablez_sampler_force_weak_definition.o absl/container/internal/hashtablez_sampler.o absl/container/internal/raw_hash_set.o absl/debugging/failure_signal_handler.o absl/debugging/internal/address_is_readable.o absl/debugging/internal/demangle.o absl/debugging/internal/elf_mem_image.o absl/debugging/internal/examine_stack.o absl/debugging/internal/stack_consumption.o absl/debugging/internal/vdso_support.o absl/debugging/leak_check.o absl/debugging/stacktrace.o absl/debugging/symbolize.o absl/numeric/int128.o absl/profiling/internal/exponential_biased.o absl/profiling/internal/periodic_sampler.o absl/strings/ascii.o absl/strings/charconv.o absl/strings/cord_analysis.o absl/strings/cord_buffer.o absl/strings/cord.o absl/strings/escaping.o absl/strings/internal/charconv_bigint.o absl/strings/internal/charconv_parse.o absl/strings/internal/cord_internal.o absl/strings/internal/cord_rep_btree_navigator.o absl/strings/internal/cord_rep_btree_reader.o absl/strings/internal/cord_rep_btree.o absl/strings/internal/cord_rep_consume.o absl/strings/internal/cord_rep_crc.o absl/strings/internal/cord_rep_ring.o absl/strings/internal/cordz_functions.o absl/strings/internal/cordz_handle.o absl/strings/internal/cordz_info.o absl/strings/internal/cordz_sample_token.o absl/strings/internal/escaping.o absl/strings/internal/memutil.o absl/strings/internal/ostringstream.o absl/strings/internal/pow10_helper.o absl/strings/internal/str_format/arg.o absl/strings/internal/str_format/bind.o absl/strings/internal/str_format/extension.o absl/strings/internal/str_format/float_conversion.o absl/strings/internal/str_format/output.o absl/strings/internal/str_format/parser.o absl/strings/internal/utf8.o absl/strings/match.o absl/strings/numbers.o absl/strings/str_cat.o absl/strings/str_replace.o absl/strings/str_split.o absl/strings/string_view.o absl/strings/substitute.o absl/synchronization/barrier.o absl/synchronization/blocking_counter.o absl/synchronization/internal/create_thread_identity.o absl/synchronization/internal/graphcycles.o absl/synchronization/internal/per_thread_sem.o absl/synchronization/internal/waiter.o absl/synchronization/mutex.o absl/synchronization/notification.o absl/time/civil_time.o absl/time/clock.o absl/time/duration.o absl/time/format.o absl/time/internal/cctz/src/civil_time_detail.o absl/time/internal/cctz/src/time_zone_fixed.o absl/time/internal/cctz/src/time_zone_format.o absl/time/internal/cctz/src/time_zone_if.o absl/time/internal/cctz/src/time_zone_impl.o absl/time/internal/cctz/src/time_zone_info.o absl/time/internal/cctz/src/time_zone_libc.o absl/time/internal/cctz/src/time_zone_lookup.o absl/time/internal/cctz/src/time_zone_posix.o absl/time/internal/cctz/src/zone_info_source.o absl/time/time.o absl/types/bad_any_cast.o absl/types/bad_optional_access.o absl/types/bad_variant_access.o cpp-compat.o s2-accessors.o s2-bounds.o s2-cell.o s2-cell-union.o s2-constructors-formatters.o s2-predicates.o s2-transformers.o init.o RcppExports.o s2-geography.o s2-lnglat.o s2-matrix.o wk-impl.o s2geography/accessors.o s2geography/accessors-geog.o s2geography/linear-referencing.o s2geography/distance.o s2geography/build.o s2geography/coverings.o s2geography/geography.o s2geography/predicates.o s2/base/stringprintf.o s2/base/strtoint.o s2/encoded_s2cell_id_vector.o s2/encoded_s2point_vector.o s2/encoded_s2shape_index.o s2/encoded_string_vector.o s2/id_set_lexicon.o s2/mutable_s2shape_index.o s2/r2rect.o s2/s1angle.o s2/s1chord_angle.o s2/s1interval.o s2/s2boolean_operation.o s2/s2builder_graph.o s2/s2builder.o s2/s2builderutil_closed_set_normalizer.o s2/s2builderutil_find_polygon_degeneracies.o s2/s2builderutil_lax_polygon_layer.o s2/s2builderutil_s2point_vector_layer.o s2/s2builderutil_s2polygon_layer.o s2/s2builderutil_s2polyline_layer.o s2/s2builderutil_s2polyline_vector_layer.o s2/s2builderutil_snap_functions.o s2/s2builderutil_testing.o s2/s2cap.o s2/s2cell_id.o s2/s2cell_index.o s2/s2cell_union.o s2/s2cell.o s2/s2centroids.o s2/s2closest_cell_query.o s2/s2closest_edge_query.o s2/s2closest_point_query.o s2/s2contains_vertex_query.o s2/s2convex_hull_query.o s2/s2coords.o s2/s2crossing_edge_query.o s2/s2debug.o s2/s2earth.o s2/s2edge_clipping.o s2/s2edge_crosser.o s2/s2edge_crossings.o s2/s2edge_distances.o s2/s2edge_tessellator.o s2/s2error.o s2/s2furthest_edge_query.o s2/s2latlng_rect_bounder.o s2/s2latlng_rect.o s2/s2latlng.o s2/s2lax_loop_shape.o s2/s2lax_polygon_shape.o s2/s2lax_polyline_shape.o s2/s2loop_measures.o s2/s2loop.o s2/s2max_distance_targets.o s2/s2measures.o s2/s2metrics.o s2/s2min_distance_targets.o s2/s2padded_cell.o s2/s2point_compression.o s2/s2point_region.o s2/s2pointutil.o s2/s2polygon.o s2/s2polyline_alignment.o s2/s2polyline_measures.o s2/s2polyline_simplifier.o s2/s2polyline.o s2/s2predicates.o s2/s2projections.o s2/s2r2rect.o s2/s2region_coverer.o s2/s2region_intersection.o s2/s2region_term_indexer.o s2/s2region_union.o s2/s2region.o s2/s2shape_index_buffered_region.o s2/s2shape_index_measures.o s2/s2shape_index.o s2/s2shape_measures.o s2/s2shapeutil_build_polygon_boundaries.o s2/s2shapeutil_coding.o s2/s2shapeutil_contains_brute_force.o s2/s2shapeutil_edge_iterator.o s2/s2shapeutil_get_reference_point.o s2/s2shapeutil_range_iterator.o s2/s2shapeutil_visit_crossing_edge_pairs.o s2/s2testing.o s2/s2text_format.o s2/s2wedge_relations.o s2/strings/ostringstream.o s2/strings/serialize.o s2/util/bits/bit-interleave.o s2/util/bits/bits.o s2/util/coding/coder.o s2/util/coding/varint.o s2/util/math/exactfloat/exactfloat.o s2/util/math/mathutil.o s2/util/units/length-units.o -l:libssl.so.3 -l:libcrypto.so.3
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-clang/s2/src'
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-clang/s2/src'
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-clang/s2/src'
installing to /data/gannet/ripley/R/packages/tests-clang/s2.Rcheck/00LOCK-s2/00new/s2/libs
** R
** data
*** moving datasets to lazyload DB
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
*** copying figures
** building package indices
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (s2)