Skip to content

Instantly share code, notes, and snippets.

@therealkenc
Created September 23, 2023 07:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save therealkenc/7073c4a2e9cac380e079708c4ed1721c to your computer and use it in GitHub Desktop.
Save therealkenc/7073c4a2e9cac380e079708c4ed1721c to your computer and use it in GitHub Desktop.
jni-bind build with typedef long jint
In file included from src/main/c/com_coralblocks_javatocppandback_jni_bind_HelloWorld.cpp:1:
src/main/c/jni_bind_release.h:7749:15: warning: implicit capture of 'this' with a capture default of '=' is deprecated [-Wdeprecated-this-capture]
7749 | (*this)("loadClass", IdClassT::kNameUsingDots);
| ^
src/main/c/jni_bind_release.h:7745:56: note: add an explicit capture of 'this' to capture '*this' by reference
7745 | 0>>::PrimeJClassFromClassLoader([=]() {
| ^
| , this
src/main/c/jni_bind_release.h:507:19: error: static assertion failed due to requirement 'AllUnique_v<void, unsigned char, bool, signed char, short, long, float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view, jni::RefBaseTag<_jstring *>, _jobject *, jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *, jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>, jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>, _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *, jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>, jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>, _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *, jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *, jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>': FindIdxOfVal only operates on unique sets.
507 | static_assert(AllUnique_v<Ts...>,
| ^~~~~~~~~~~~~~~~~~
src/main/c/jni_bind_release.h:513:40: note: in instantiation of template class 'jni::metaprogramming::FindIdxOfVal<jni::IsConvertibleKey<void>>::StaticAssertWrapper<void, unsigned char, bool, signed char, short, long, float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view, jni::RefBaseTag<_jstring *>, _jobject *, jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *, jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>, jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>, _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *, jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>, jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>, _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *, jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *, jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>' requested here
513 | static constexpr std::size_t value = StaticAssertWrapper<Ts...>::value;
| ^
src/main/c/jni_bind_release.h:518:40: note: in instantiation of static data member 'jni::metaprogramming::FindIdxOfVal<jni::IsConvertibleKey<void>>::value<void, unsigned char, bool, signed char, short, long, float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view, jni::RefBaseTag<_jstring *>, _jobject *, jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *, jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>, jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>, _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *, jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>, jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>, _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *, jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *, jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>' requested here
518 | FindIdxOfVal<Comparator>::template value<Ts...>;
| ^
src/main/c/jni_bind_release.h:760:26: note: in instantiation of variable template specialization 'jni::metaprogramming::FindIdxOfValWithComparator_idx<jni::IsConvertibleKey<void>, void, unsigned char, bool, signed char, short, long, float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view, jni::RefBaseTag<_jstring *>, _jobject *, jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *, jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>, jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>, _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *, jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>, jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>, _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *, jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *, jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>' requested here
760 | TypeOfNthElement_t<FindIdxOfValWithComparator_idx<Comparator, Keys_...>,
| ^
src/main/c/jni_bind_release.h:781:1: note: in instantiation of template type alias 'type' requested here
781 | using TypeToTypeMapQueryWithComparator_t =
| ^
src/main/c/jni_bind_release.h:4005:24: note: in instantiation of template type alias 'TypeToTypeMapQueryWithComparator_t' requested here
4005 | metaprogramming::TypeToTypeMapQueryWithComparator_t<KeyToIndex,
| ^
src/main/c/jni_bind_release.h:2706:1: note: in instantiation of template class 'jni::ProxyHelper<void>' requested here
2706 | using CDecl_t = typename ProxyHelper<T>::CDecl;
| ^
src/main/c/jni_bind_release.h:4380:17: note: in instantiation of template type alias 'CDecl_t' requested here
4380 | using CDecl = CDecl_t<VoidIfVoid_t<MaterializeT>>;
| ^
src/main/c/jni_bind_release.h:6224:25: note: in instantiation of template class 'jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET, 0>' requested here
6224 | using JniT = typename IdT::JniT;
| ^
src/main/c/jni_bind_release.h:6251:45: note: in instantiation of template class 'jni::MethodSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET, 0>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM>' requested here
6251 | using OverloadSelectionForArgs = typename MethodSelection<
| ^
src/main/c/jni_bind_release.h:6621:19: note: in instantiation of template class 'jni::OverloadSelector<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET, 0>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM, long &, _jstring *&>' requested here
6621 | static_assert(MethodSelectionForArgs::kIsValidArgSet,
| ^
src/main/c/jni_bind_release.h:4647:19: note: in instantiation of function template specialization 'jni::ObjectRef<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>>::InvocableMapCall<0ULL, long &, _jstring *&>' requested here
4647 | .template InvocableMapCall<I, Args...>(key,
| ^
src/main/c/com_coralblocks_javatocppandback_jni_bind_HelloWorld.cpp:44:15: note: in instantiation of function template specialization 'jni::metaprogramming::InvocableMapEntry<jni::ObjectRef<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>>, jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>::stripped_class_v, jni::Class<std::tuple<jni::Constructor<>>, std::tuple<jni::Static<std::tuple<>, std::tuple<>>>, std::tuple<jni::Method<std::tuple<jni::Return<void>>, std::tuple<jni::Params<long, _jstring *>>>>, std::tuple<>>, &jni::Class<std::tuple<jni::Constructor<>>, std::tuple<jni::Static<std::tuple<>, std::tuple<>>>, std::tuple<jni::Method<std::tuple<jni::Return<void>>, std::tuple<jni::Params<long, _jstring *>>>>, std::tuple<>>::methods_, 0>::operator()<long &, _jstring *&>' requested here
44 | helloWorld("sayHello", x, msg);
| ^
In file included from src/main/c/com_coralblocks_javatocppandback_jni_bind_HelloWorld.cpp:1:
src/main/c/jni_bind_release.h:507:19: error: static assertion failed due to requirement 'AllUnique_v<void, unsigned char, bool, signed char, short, long, float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view, jni::RefBaseTag<_jstring *>, _jobject *, jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *, jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>, jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>, _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *, jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>, jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>, _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *, jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *, jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>': FindIdxOfVal only operates on unique sets.
507 | static_assert(AllUnique_v<Ts...>,
| ^~~~~~~~~~~~~~~~~~
src/main/c/jni_bind_release.h:513:40: note: in instantiation of template class 'jni::metaprogramming::FindIdxOfVal<jni::IsConvertibleKey<_jstring *>>::StaticAssertWrapper<void, unsigned char, bool, signed char, short, long, float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view, jni::RefBaseTag<_jstring *>, _jobject *, jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *, jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>, jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>, _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *, jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>, jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>, _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *, jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *, jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>' requested here
513 | static constexpr std::size_t value = StaticAssertWrapper<Ts...>::value;
| ^
src/main/c/jni_bind_release.h:518:40: note: in instantiation of static data member 'jni::metaprogramming::FindIdxOfVal<jni::IsConvertibleKey<_jstring *>>::value<void, unsigned char, bool, signed char, short, long, float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view, jni::RefBaseTag<_jstring *>, _jobject *, jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *, jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>, jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>, _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *, jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>, jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>, _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *, jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *, jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>' requested here
518 | FindIdxOfVal<Comparator>::template value<Ts...>;
| ^
src/main/c/jni_bind_release.h:760:26: note: in instantiation of variable template specialization 'jni::metaprogramming::FindIdxOfValWithComparator_idx<jni::IsConvertibleKey<_jstring *>, void, unsigned char, bool, signed char, short, long, float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view, jni::RefBaseTag<_jstring *>, _jobject *, jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *, jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>, jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>, _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *, jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>, jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>, _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *, jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *, jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>' requested here
760 | TypeOfNthElement_t<FindIdxOfValWithComparator_idx<Comparator, Keys_...>,
| ^
src/main/c/jni_bind_release.h:781:1: note: in instantiation of template type alias 'type' requested here
781 | using TypeToTypeMapQueryWithComparator_t =
| ^
src/main/c/jni_bind_release.h:4005:24: note: in instantiation of template type alias 'TypeToTypeMapQueryWithComparator_t' requested here
4005 | metaprogramming::TypeToTypeMapQueryWithComparator_t<KeyToIndex,
| ^
src/main/c/jni_bind_release.h:2706:1: note: in instantiation of template class 'jni::ProxyHelper<_jstring *>' requested here
2706 | using CDecl_t = typename ProxyHelper<T>::CDecl;
| ^
src/main/c/jni_bind_release.h:4380:17: note: in instantiation of template type alias 'CDecl_t' requested here
4380 | using CDecl = CDecl_t<VoidIfVoid_t<MaterializeT>>;
| ^
src/main/c/jni_bind_release.h:6182:24: note: in instantiation of template class 'jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_PARAM, 0, 0, 1>' requested here
6182 | Proxy_t<typename IdTParamType::UnstrippedRawVal>::template kViable<
| ^
src/main/c/jni_bind_release.h:5765:67: note: in instantiation of static data member 'jni::Viable<1, jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 0, 0>, jni::metaprogramming::Val<jni::IdType::OVERLOAD_PARAM>, long &, _jstring *&>::val' requested here
5765 | ? (Container<Indices, Ts...>::val && ...)
| ^
src/main/c/jni_bind_release.h:5775:64: note: in instantiation of static data member 'jni::metaprogramming::Unfurl<jni::Viable, 2>::Helper<std::tuple<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 0, 0>, jni::metaprogramming::Val<jni::IdType::OVERLOAD_PARAM>, long &, _jstring *&>, std::integer_sequence<unsigned long long, 0, 1>>::val' requested here
5775 | Helper<std::tuple<Ts...>, std::make_index_sequence<Is>>::val;
| ^
src/main/c/jni_bind_release.h:5785:43: note: in instantiation of static data member 'jni::metaprogramming::Unfurl<jni::Viable, 2>::val<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 0, 0>, jni::metaprogramming::Val<jni::IdType::OVERLOAD_PARAM>, long &, _jstring *&>' requested here
5785 | Unfurl<Container, Is, true>::template val<Ts...>;
| ^
src/main/c/jni_bind_release.h:6193:31: note: in instantiation of variable template specialization 'jni::metaprogramming::UnfurlConjunction_v<2, jni::Viable, jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 0, 0>, jni::metaprogramming::Val<jni::IdType::OVERLOAD_PARAM>, long &, _jstring *&>' requested here
6193 | return metaprogramming::UnfurlConjunction_v<
| ^
src/main/c/jni_bind_release.h:6202:34: note: in instantiation of function template specialization 'jni::ArgumentValidate<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 0, 0>, jni::IdType::OVERLOAD_PARAM>::ViableHelper<long &, _jstring *&>' requested here
6202 | static constexpr bool kValid = ViableHelper<Ts...>();
| ^
src/main/c/jni_bind_release.h:6211:59: note: in instantiation of static data member 'jni::ArgumentValidate<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 0, 0>, jni::IdType::OVERLOAD_PARAM>::kValid<long &, _jstring *&>' requested here
6211 | return ArgumentValidate<IdT, kReturnIDType>::template kValid<Ts...>;
| ^
src/main/c/jni_bind_release.h:6216:12: note: in instantiation of function template specialization 'jni::OverloadSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 0, 0>, jni::IdType::OVERLOAD_PARAM>::OverloadViable<long &, _jstring *&>' requested here
6216 | return OverloadViable<Ts...>() ? IdT::kSecondaryIdx : kNoIdx;
| ^
src/main/c/jni_bind_release.h:6230:34: note: in instantiation of function template specialization 'jni::OverloadSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 0, 0>, jni::IdType::OVERLOAD_PARAM>::OverloadIdxIfViable<long &, _jstring *&>' requested here
6230 | kReturnIDType>::template OverloadIdxIfViable<Ts...>()>;
| ^
src/main/c/jni_bind_release.h:5900:38: note: in instantiation of template class 'jni::MethodSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET, 0>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM>::Helper<0, long &, _jstring *&>' requested here
5900 | using type = std::tuple<typename Ts::type...>;
| ^
src/main/c/jni_bind_release.h:5904:3: note: in instantiation of template class 'jni::metaprogramming::Call::Helper<std::tuple<jni::MethodSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET, 0>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM>::Helper<0, long &, _jstring *&>>>' requested here
5904 | using type = typename Helper<T>::type;
| ^
src/main/c/jni_bind_release.h:5908:1: note: in instantiation of template type alias 'type' requested here
5908 | using Call_t = typename Call::type<T>;
| ^
src/main/c/jni_bind_release.h:6235:46: note: in instantiation of template type alias 'Call_t' requested here
6235 | metaprogramming::Min, metaprogramming::Call_t<metaprogramming::Unfurl_t<
| ^
src/main/c/jni_bind_release.h:6240:54: note: in instantiation of static data member 'jni::MethodSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET, 0>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM>::kIdxForTs<long &, _jstring *&>' requested here
6240 | OverloadSelection<Id<JniT, kIDType, IdT::kIdx, kIdxForTs<Ts...>>,
| ^
src/main/c/jni_bind_release.h:6252:46: note: in instantiation of template type alias 'FindOverloadSelection' requested here
6252 | IdT, kIDType, kReturnIDType>::template FindOverloadSelection<Args...>;
| ^
src/main/c/jni_bind_release.h:6621:19: note: in instantiation of template class 'jni::OverloadSelector<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET, 0>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM, long &, _jstring *&>' requested here
6621 | static_assert(MethodSelectionForArgs::kIsValidArgSet,
| ^
src/main/c/jni_bind_release.h:4647:19: note: in instantiation of function template specialization 'jni::ObjectRef<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>>::InvocableMapCall<0ULL, long &, _jstring *&>' requested here
4647 | .template InvocableMapCall<I, Args...>(key,
| ^
src/main/c/com_coralblocks_javatocppandback_jni_bind_HelloWorld.cpp:44:15: note: in instantiation of function template specialization 'jni::metaprogramming::InvocableMapEntry<jni::ObjectRef<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>>, jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>::stripped_class_v, jni::Class<std::tuple<jni::Constructor<>>, std::tuple<jni::Static<std::tuple<>, std::tuple<>>>, std::tuple<jni::Method<std::tuple<jni::Return<void>>, std::tuple<jni::Params<long, _jstring *>>>>, std::tuple<>>, &jni::Class<std::tuple<jni::Constructor<>>, std::tuple<jni::Static<std::tuple<>, std::tuple<>>>, std::tuple<jni::Method<std::tuple<jni::Return<void>>, std::tuple<jni::Params<long, _jstring *>>>>, std::tuple<>>::methods_, 0>::operator()<long &, _jstring *&>' requested here
44 | helloWorld("sayHello", x, msg);
| ^
In file included from src/main/c/com_coralblocks_javatocppandback_jni_bind_HelloWorld.cpp:1:
src/main/c/jni_bind_release.h:507:19: error: static assertion failed due to requirement 'AllUnique_v<void, unsigned char, bool, signed char, short, long, float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view, jni::RefBaseTag<_jstring *>, _jobject *, jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *, jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>, jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>, _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *, jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>, jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>, _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *, jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *, jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>': FindIdxOfVal only operates on unique sets.
507 | static_assert(AllUnique_v<Ts...>,
| ^~~~~~~~~~~~~~~~~~
src/main/c/jni_bind_release.h:513:40: note: in instantiation of template class 'jni::metaprogramming::FindIdxOfVal<jni::IsConvertibleKey<long>>::StaticAssertWrapper<void, unsigned char, bool, signed char, short, long, float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view, jni::RefBaseTag<_jstring *>, _jobject *, jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *, jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>, jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>, _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *, jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>, jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>, _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *, jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *, jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>' requested here
513 | static constexpr std::size_t value = StaticAssertWrapper<Ts...>::value;
| ^
src/main/c/jni_bind_release.h:518:40: note: in instantiation of static data member 'jni::metaprogramming::FindIdxOfVal<jni::IsConvertibleKey<long>>::value<void, unsigned char, bool, signed char, short, long, float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view, jni::RefBaseTag<_jstring *>, _jobject *, jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *, jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>, jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>, _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *, jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>, jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>, _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *, jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *, jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>' requested here
518 | FindIdxOfVal<Comparator>::template value<Ts...>;
| ^
src/main/c/jni_bind_release.h:760:26: note: in instantiation of variable template specialization 'jni::metaprogramming::FindIdxOfValWithComparator_idx<jni::IsConvertibleKey<long>, void, unsigned char, bool, signed char, short, long, float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view, jni::RefBaseTag<_jstring *>, _jobject *, jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *, jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>, jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>, _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *, jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>, jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>, _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *, jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *, jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>' requested here
760 | TypeOfNthElement_t<FindIdxOfValWithComparator_idx<Comparator, Keys_...>,
| ^
src/main/c/jni_bind_release.h:781:1: note: in instantiation of template type alias 'type' requested here
781 | using TypeToTypeMapQueryWithComparator_t =
| ^
src/main/c/jni_bind_release.h:4005:24: note: in instantiation of template type alias 'TypeToTypeMapQueryWithComparator_t' requested here
4005 | metaprogramming::TypeToTypeMapQueryWithComparator_t<KeyToIndex,
| ^
src/main/c/jni_bind_release.h:2706:1: note: in instantiation of template class 'jni::ProxyHelper<long>' requested here
2706 | using CDecl_t = typename ProxyHelper<T>::CDecl;
| ^
src/main/c/jni_bind_release.h:4380:17: note: in instantiation of template type alias 'CDecl_t' requested here
4380 | using CDecl = CDecl_t<VoidIfVoid_t<MaterializeT>>;
| ^
src/main/c/jni_bind_release.h:6182:24: note: in instantiation of template class 'jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_PARAM, 0, 0, 0>' requested here
6182 | Proxy_t<typename IdTParamType::UnstrippedRawVal>::template kViable<
| ^
src/main/c/jni_bind_release.h:5765:67: note: in instantiation of static data member 'jni::Viable<0, jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 0, 0>, jni::metaprogramming::Val<jni::IdType::OVERLOAD_PARAM>, long &, _jstring *&>::val' requested here
5765 | ? (Container<Indices, Ts...>::val && ...)
| ^
src/main/c/jni_bind_release.h:5775:64: note: in instantiation of static data member 'jni::metaprogramming::Unfurl<jni::Viable, 2>::Helper<std::tuple<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 0, 0>, jni::metaprogramming::Val<jni::IdType::OVERLOAD_PARAM>, long &, _jstring *&>, std::integer_sequence<unsigned long long, 0, 1>>::val' requested here
5775 | Helper<std::tuple<Ts...>, std::make_index_sequence<Is>>::val;
| ^
src/main/c/jni_bind_release.h:5785:43: note: in instantiation of static data member 'jni::metaprogramming::Unfurl<jni::Viable, 2>::val<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 0, 0>, jni::metaprogramming::Val<jni::IdType::OVERLOAD_PARAM>, long &, _jstring *&>' requested here
5785 | Unfurl<Container, Is, true>::template val<Ts...>;
| ^
src/main/c/jni_bind_release.h:6193:31: note: in instantiation of variable template specialization 'jni::metaprogramming::UnfurlConjunction_v<2, jni::Viable, jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 0, 0>, jni::metaprogramming::Val<jni::IdType::OVERLOAD_PARAM>, long &, _jstring *&>' requested here
6193 | return metaprogramming::UnfurlConjunction_v<
| ^
src/main/c/jni_bind_release.h:6202:34: note: in instantiation of function template specialization 'jni::ArgumentValidate<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 0, 0>, jni::IdType::OVERLOAD_PARAM>::ViableHelper<long &, _jstring *&>' requested here
6202 | static constexpr bool kValid = ViableHelper<Ts...>();
| ^
src/main/c/jni_bind_release.h:6211:59: note: in instantiation of static data member 'jni::ArgumentValidate<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 0, 0>, jni::IdType::OVERLOAD_PARAM>::kValid<long &, _jstring *&>' requested here
6211 | return ArgumentValidate<IdT, kReturnIDType>::template kValid<Ts...>;
| ^
src/main/c/jni_bind_release.h:6216:12: note: in instantiation of function template specialization 'jni::OverloadSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 0, 0>, jni::IdType::OVERLOAD_PARAM>::OverloadViable<long &, _jstring *&>' requested here
6216 | return OverloadViable<Ts...>() ? IdT::kSecondaryIdx : kNoIdx;
| ^
src/main/c/jni_bind_release.h:6230:34: note: in instantiation of function template specialization 'jni::OverloadSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 0, 0>, jni::IdType::OVERLOAD_PARAM>::OverloadIdxIfViable<long &, _jstring *&>' requested here
6230 | kReturnIDType>::template OverloadIdxIfViable<Ts...>()>;
| ^
src/main/c/jni_bind_release.h:5900:38: note: in instantiation of template class 'jni::MethodSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET, 0>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM>::Helper<0, long &, _jstring *&>' requested here
5900 | using type = std::tuple<typename Ts::type...>;
| ^
src/main/c/jni_bind_release.h:5904:3: note: in instantiation of template class 'jni::metaprogramming::Call::Helper<std::tuple<jni::MethodSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET, 0>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM>::Helper<0, long &, _jstring *&>>>' requested here
5904 | using type = typename Helper<T>::type;
| ^
src/main/c/jni_bind_release.h:5908:1: note: in instantiation of template type alias 'type' requested here
5908 | using Call_t = typename Call::type<T>;
| ^
src/main/c/jni_bind_release.h:6235:46: note: in instantiation of template type alias 'Call_t' requested here
6235 | metaprogramming::Min, metaprogramming::Call_t<metaprogramming::Unfurl_t<
| ^
src/main/c/jni_bind_release.h:6240:54: note: in instantiation of static data member 'jni::MethodSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET, 0>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM>::kIdxForTs<long &, _jstring *&>' requested here
6240 | OverloadSelection<Id<JniT, kIDType, IdT::kIdx, kIdxForTs<Ts...>>,
| ^
src/main/c/jni_bind_release.h:6252:46: note: in instantiation of template type alias 'FindOverloadSelection' requested here
6252 | IdT, kIDType, kReturnIDType>::template FindOverloadSelection<Args...>;
| ^
src/main/c/jni_bind_release.h:6621:19: note: in instantiation of template class 'jni::OverloadSelector<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET, 0>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM, long &, _jstring *&>' requested here
6621 | static_assert(MethodSelectionForArgs::kIsValidArgSet,
| ^
src/main/c/jni_bind_release.h:4647:19: note: in instantiation of function template specialization 'jni::ObjectRef<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>>::InvocableMapCall<0ULL, long &, _jstring *&>' requested here
4647 | .template InvocableMapCall<I, Args...>(key,
| ^
src/main/c/com_coralblocks_javatocppandback_jni_bind_HelloWorld.cpp:44:15: note: in instantiation of function template specialization 'jni::metaprogramming::InvocableMapEntry<jni::ObjectRef<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>>, jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>::stripped_class_v, jni::Class<std::tuple<jni::Constructor<>>, std::tuple<jni::Static<std::tuple<>, std::tuple<>>>, std::tuple<jni::Method<std::tuple<jni::Return<void>>, std::tuple<jni::Params<long, _jstring *>>>>, std::tuple<>>, &jni::Class<std::tuple<jni::Constructor<>>, std::tuple<jni::Static<std::tuple<>, std::tuple<>>>, std::tuple<jni::Method<std::tuple<jni::Return<void>>, std::tuple<jni::Params<long, _jstring *>>>>, std::tuple<>>::methods_, 0>::operator()<long &, _jstring *&>' requested here
44 | helloWorld("sayHello", x, msg);
| ^
In file included from src/main/c/com_coralblocks_javatocppandback_jni_bind_HelloWorld.cpp:1:
src/main/c/jni_bind_release.h:6202:25: error: constexpr variable 'kValid<long &, _jstring *&>' must be initialized by a constant expression
6202 | static constexpr bool kValid = ViableHelper<Ts...>();
| ^ ~~~~~~~~~~~~~~~~~~~~~
src/main/c/jni_bind_release.h:6211:59: note: in instantiation of static data member 'jni::ArgumentValidate<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 0, 0>, jni::IdType::OVERLOAD_PARAM>::kValid<long &, _jstring *&>' requested here
6211 | return ArgumentValidate<IdT, kReturnIDType>::template kValid<Ts...>;
| ^
src/main/c/jni_bind_release.h:6216:12: note: in instantiation of function template specialization 'jni::OverloadSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 0, 0>, jni::IdType::OVERLOAD_PARAM>::OverloadViable<long &, _jstring *&>' requested here
6216 | return OverloadViable<Ts...>() ? IdT::kSecondaryIdx : kNoIdx;
| ^
src/main/c/jni_bind_release.h:6230:34: note: in instantiation of function template specialization 'jni::OverloadSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 0, 0>, jni::IdType::OVERLOAD_PARAM>::OverloadIdxIfViable<long &, _jstring *&>' requested here
6230 | kReturnIDType>::template OverloadIdxIfViable<Ts...>()>;
| ^
src/main/c/jni_bind_release.h:5900:38: note: in instantiation of template class 'jni::MethodSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET, 0>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM>::Helper<0, long &, _jstring *&>' requested here
5900 | using type = std::tuple<typename Ts::type...>;
| ^
src/main/c/jni_bind_release.h:5904:3: note: in instantiation of template class 'jni::metaprogramming::Call::Helper<std::tuple<jni::MethodSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET, 0>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM>::Helper<0, long &, _jstring *&>>>' requested here
5904 | using type = typename Helper<T>::type;
| ^
src/main/c/jni_bind_release.h:5908:1: note: in instantiation of template type alias 'type' requested here
5908 | using Call_t = typename Call::type<T>;
| ^
src/main/c/jni_bind_release.h:6235:46: note: in instantiation of template type alias 'Call_t' requested here
6235 | metaprogramming::Min, metaprogramming::Call_t<metaprogramming::Unfurl_t<
| ^
src/main/c/jni_bind_release.h:6240:54: note: in instantiation of static data member 'jni::MethodSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET, 0>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM>::kIdxForTs<long &, _jstring *&>' requested here
6240 | OverloadSelection<Id<JniT, kIDType, IdT::kIdx, kIdxForTs<Ts...>>,
| ^
src/main/c/jni_bind_release.h:6252:46: note: in instantiation of template type alias 'FindOverloadSelection' requested here
6252 | IdT, kIDType, kReturnIDType>::template FindOverloadSelection<Args...>;
| ^
src/main/c/jni_bind_release.h:6621:19: note: in instantiation of template class 'jni::OverloadSelector<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET, 0>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM, long &, _jstring *&>' requested here
6621 | static_assert(MethodSelectionForArgs::kIsValidArgSet,
| ^
src/main/c/jni_bind_release.h:4647:19: note: in instantiation of function template specialization 'jni::ObjectRef<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>>::InvocableMapCall<0ULL, long &, _jstring *&>' requested here
4647 | .template InvocableMapCall<I, Args...>(key,
| ^
src/main/c/com_coralblocks_javatocppandback_jni_bind_HelloWorld.cpp:44:15: note: in instantiation of function template specialization 'jni::metaprogramming::InvocableMapEntry<jni::ObjectRef<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>>, jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>::stripped_class_v, jni::Class<std::tuple<jni::Constructor<>>, std::tuple<jni::Static<std::tuple<>, std::tuple<>>>, std::tuple<jni::Method<std::tuple<jni::Return<void>>, std::tuple<jni::Params<long, _jstring *>>>>, std::tuple<>>, &jni::Class<std::tuple<jni::Constructor<>>, std::tuple<jni::Static<std::tuple<>, std::tuple<>>>, std::tuple<jni::Method<std::tuple<jni::Return<void>>, std::tuple<jni::Params<long, _jstring *>>>>, std::tuple<>>::methods_, 0>::operator()<long &, _jstring *&>' requested here
44 | helloWorld("sayHello", x, msg);
| ^
In file included from src/main/c/com_coralblocks_javatocppandback_jni_bind_HelloWorld.cpp:1:
src/main/c/jni_bind_release.h:6228:41: error: non-type template argument is not a constant expression
6228 | using type = metaprogramming::Val_t<OverloadSelection<
| ^~~~~~~~~~~~~~~~~~
6229 | Id<JniT, kIDType, IdT::kIdx, I>,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6230 | kReturnIDType>::template OverloadIdxIfViable<Ts...>()>;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/main/c/jni_bind_release.h:5900:38: note: in instantiation of template class 'jni::MethodSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET, 0>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM>::Helper<0, long &, _jstring *&>' requested here
5900 | using type = std::tuple<typename Ts::type...>;
| ^
src/main/c/jni_bind_release.h:5904:3: note: in instantiation of template class 'jni::metaprogramming::Call::Helper<std::tuple<jni::MethodSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET, 0>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM>::Helper<0, long &, _jstring *&>>>' requested here
5904 | using type = typename Helper<T>::type;
| ^
src/main/c/jni_bind_release.h:5908:1: note: in instantiation of template type alias 'type' requested here
5908 | using Call_t = typename Call::type<T>;
| ^
src/main/c/jni_bind_release.h:6235:46: note: in instantiation of template type alias 'Call_t' requested here
6235 | metaprogramming::Min, metaprogramming::Call_t<metaprogramming::Unfurl_t<
| ^
src/main/c/jni_bind_release.h:6240:54: note: in instantiation of static data member 'jni::MethodSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET, 0>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM>::kIdxForTs<long &, _jstring *&>' requested here
6240 | OverloadSelection<Id<JniT, kIDType, IdT::kIdx, kIdxForTs<Ts...>>,
| ^
src/main/c/jni_bind_release.h:6252:46: note: in instantiation of template type alias 'FindOverloadSelection' requested here
6252 | IdT, kIDType, kReturnIDType>::template FindOverloadSelection<Args...>;
| ^
src/main/c/jni_bind_release.h:6621:19: note: in instantiation of template class 'jni::OverloadSelector<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET, 0>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM, long &, _jstring *&>' requested here
6621 | static_assert(MethodSelectionForArgs::kIsValidArgSet,
| ^
src/main/c/jni_bind_release.h:4647:19: note: in instantiation of function template specialization 'jni::ObjectRef<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>>::InvocableMapCall<0ULL, long &, _jstring *&>' requested here
4647 | .template InvocableMapCall<I, Args...>(key,
| ^
src/main/c/com_coralblocks_javatocppandback_jni_bind_HelloWorld.cpp:44:15: note: in instantiation of function template specialization 'jni::metaprogramming::InvocableMapEntry<jni::ObjectRef<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>>, jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>::stripped_class_v, jni::Class<std::tuple<jni::Constructor<>>, std::tuple<jni::Static<std::tuple<>, std::tuple<>>>, std::tuple<jni::Method<std::tuple<jni::Return<void>>, std::tuple<jni::Params<long, _jstring *>>>>, std::tuple<>>, &jni::Class<std::tuple<jni::Constructor<>>, std::tuple<jni::Static<std::tuple<>, std::tuple<>>>, std::tuple<jni::Method<std::tuple<jni::Return<void>>, std::tuple<jni::Params<long, _jstring *>>>>, std::tuple<>>::methods_, 0>::operator()<long &, _jstring *&>' requested here
44 | helloWorld("sayHello", x, msg);
| ^
src/main/c/jni_bind_release.h:6211:12: note: initializer of 'kValid<long &, _jstring *&>' is not a constant expression
6211 | return ArgumentValidate<IdT, kReturnIDType>::template kValid<Ts...>;
| ^
src/main/c/jni_bind_release.h:6216:12: note: in call to 'OverloadViable()'
6216 | return OverloadViable<Ts...>() ? IdT::kSecondaryIdx : kNoIdx;
| ^
src/main/c/jni_bind_release.h:6228:41: note: in call to 'OverloadIdxIfViable()'
6228 | using type = metaprogramming::Val_t<OverloadSelection<
| ^
src/main/c/jni_bind_release.h:6202:25: note: declared here
6202 | static constexpr bool kValid = ViableHelper<Ts...>();
| ^
src/main/c/jni_bind_release.h:6259:25: error: constexpr variable 'kIsValidArgSet' must be initialized by a constant expression
6260 | static constexpr bool kIsValidArgSet =
| ^
6261 | MethodSelection<IdT, kIDType,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6262 | kReturnIDType>::template ArgSetViable<Args...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/main/c/jni_bind_release.h:6621:43: note: in instantiation of static data member 'jni::OverloadSelector<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET, 0>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM, long &, _jstring *&>::kIsValidArgSet' requested here
6621 | static_assert(MethodSelectionForArgs::kIsValidArgSet,
| ^
src/main/c/jni_bind_release.h:4647:19: note: in instantiation of function template specialization 'jni::ObjectRef<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>>::InvocableMapCall<0ULL, long &, _jstring *&>' requested here
4647 | .template InvocableMapCall<I, Args...>(key,
| ^
src/main/c/com_coralblocks_javatocppandback_jni_bind_HelloWorld.cpp:44:15: note: in instantiation of function template specialization 'jni::metaprogramming::InvocableMapEntry<jni::ObjectRef<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>>, jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>::stripped_class_v, jni::Class<std::tuple<jni::Constructor<>>, std::tuple<jni::Static<std::tuple<>, std::tuple<>>>, std::tuple<jni::Method<std::tuple<jni::Return<void>>, std::tuple<jni::Params<long, _jstring *>>>>, std::tuple<>>, &jni::Class<std::tuple<jni::Constructor<>>, std::tuple<jni::Static<std::tuple<>, std::tuple<>>>, std::tuple<jni::Method<std::tuple<jni::Return<void>>, std::tuple<jni::Params<long, _jstring *>>>>, std::tuple<>>::methods_, 0>::operator()<long &, _jstring *&>' requested here
44 | helloWorld("sayHello", x, msg);
| ^
In file included from src/main/c/com_coralblocks_javatocppandback_jni_bind_HelloWorld.cpp:1:
src/main/c/jni_bind_release.h:6621:19: error: static assertion expression is not an integral constant expression
6621 | static_assert(MethodSelectionForArgs::kIsValidArgSet,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/main/c/jni_bind_release.h:4647:19: note: in instantiation of function template specialization 'jni::ObjectRef<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>>::InvocableMapCall<0ULL, long &, _jstring *&>' requested here
4647 | .template InvocableMapCall<I, Args...>(key,
| ^
src/main/c/com_coralblocks_javatocppandback_jni_bind_HelloWorld.cpp:44:15: note: in instantiation of function template specialization 'jni::metaprogramming::InvocableMapEntry<jni::ObjectRef<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>>, jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>::stripped_class_v, jni::Class<std::tuple<jni::Constructor<>>, std::tuple<jni::Static<std::tuple<>, std::tuple<>>>, std::tuple<jni::Method<std::tuple<jni::Return<void>>, std::tuple<jni::Params<long, _jstring *>>>>, std::tuple<>>, &jni::Class<std::tuple<jni::Constructor<>>, std::tuple<jni::Static<std::tuple<>, std::tuple<>>>, std::tuple<jni::Method<std::tuple<jni::Return<void>>, std::tuple<jni::Params<long, _jstring *>>>>, std::tuple<>>::methods_, 0>::operator()<long &, _jstring *&>' requested here
44 | helloWorld("sayHello", x, msg);
| ^
src/main/c/jni_bind_release.h:6621:19: note: initializer of 'kIsValidArgSet' is not a constant expression
6621 | static_assert(MethodSelectionForArgs::kIsValidArgSet,
| ^
src/main/c/jni_bind_release.h:6259:25: note: declared here
6259 | static constexpr bool kIsValidArgSet =
| ^
src/main/c/jni_bind_release.h:507:19: error: static assertion failed due to requirement 'AllUnique_v<void, unsigned char, bool, signed char, short, long, float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view, jni::RefBaseTag<_jstring *>, _jobject *, jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *, jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>, jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>, _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *, jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>, jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>, _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *, jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *, jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>': FindIdxOfVal only operates on unique sets.
507 | static_assert(AllUnique_v<Ts...>,
| ^~~~~~~~~~~~~~~~~~
src/main/c/jni_bind_release.h:513:40: note: in instantiation of template class 'jni::metaprogramming::FindIdxOfVal<jni::IsConvertibleKey<jni::Class<std::tuple<jni::Constructor<>>, std::tuple<jni::Static<std::tuple<>, std::tuple<>>>, std::tuple<jni::Method<std::tuple<jni::Return<void>>, std::tuple<jni::Params<long, _jstring *>>>>, std::tuple<>>>>::StaticAssertWrapper<void, unsigned char, bool, signed char, short, long, float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view, jni::RefBaseTag<_jstring *>, _jobject *, jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *, jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>, jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>, _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *, jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>, jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>, _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *, jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *, jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>' requested here
513 | static constexpr std::size_t value = StaticAssertWrapper<Ts...>::value;
| ^
src/main/c/jni_bind_release.h:518:40: note: in instantiation of static data member 'jni::metaprogramming::FindIdxOfVal<jni::IsConvertibleKey<jni::Class<std::tuple<jni::Constructor<>>, std::tuple<jni::Static<std::tuple<>, std::tuple<>>>, std::tuple<jni::Method<std::tuple<jni::Return<void>>, std::tuple<jni::Params<long, _jstring *>>>>, std::tuple<>>>>::value<void, unsigned char, bool, signed char, short, long, float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view, jni::RefBaseTag<_jstring *>, _jobject *, jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *, jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>, jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>, _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *, jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>, jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>, _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *, jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *, jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>' requested here
518 | FindIdxOfVal<Comparator>::template value<Ts...>;
| ^
src/main/c/jni_bind_release.h:760:26: note: in instantiation of variable template specialization 'jni::metaprogramming::FindIdxOfValWithComparator_idx<jni::IsConvertibleKey<jni::Class<std::tuple<jni::Constructor<>>, std::tuple<jni::Static<std::tuple<>, std::tuple<>>>, std::tuple<jni::Method<std::tuple<jni::Return<void>>, std::tuple<jni::Params<long, _jstring *>>>>, std::tuple<>>>, void, unsigned char, bool, signed char, short, long, float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view, jni::RefBaseTag<_jstring *>, _jobject *, jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *, jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>, jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>, _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *, jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>, jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>, _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *, jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *, jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>' requested here
760 | TypeOfNthElement_t<FindIdxOfValWithComparator_idx<Comparator, Keys_...>,
| ^
src/main/c/jni_bind_release.h:781:1: note: in instantiation of template type alias 'type' requested here
781 | using TypeToTypeMapQueryWithComparator_t =
| ^
src/main/c/jni_bind_release.h:4005:24: note: in instantiation of template type alias 'TypeToTypeMapQueryWithComparator_t' requested here
4005 | metaprogramming::TypeToTypeMapQueryWithComparator_t<KeyToIndex,
| ^
src/main/c/jni_bind_release.h:2706:1: note: in instantiation of template class 'jni::ProxyHelper<jni::Class<std::tuple<jni::Constructor<>>, std::tuple<jni::Static<std::tuple<>, std::tuple<>>>, std::tuple<jni::Method<std::tuple<jni::Return<void>>, std::tuple<jni::Params<long, _jstring *>>>>, std::tuple<>>>' requested here
2706 | using CDecl_t = typename ProxyHelper<T>::CDecl;
| ^
src/main/c/jni_bind_release.h:4380:17: note: in instantiation of template type alias 'CDecl_t' requested here
4380 | using CDecl = CDecl_t<VoidIfVoid_t<MaterializeT>>;
| ^
src/main/c/jni_bind_release.h:6192:36: note: in instantiation of template class 'jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 18446744073709551615, 0>' requested here
6192 | if constexpr (sizeof...(Ts) == OverloadId::kNumParams) {
| ^
src/main/c/jni_bind_release.h:6202:34: note: in instantiation of function template specialization 'jni::ArgumentValidate<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 18446744073709551615, 0>, jni::IdType::OVERLOAD_PARAM>::ViableHelper<>' requested here
6202 | static constexpr bool kValid = ViableHelper<Ts...>();
| ^
src/main/c/jni_bind_release.h:6211:59: note: in instantiation of static data member 'jni::ArgumentValidate<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 18446744073709551615, 0>, jni::IdType::OVERLOAD_PARAM>::kValid<>' requested here
6211 | return ArgumentValidate<IdT, kReturnIDType>::template kValid<Ts...>;
| ^
src/main/c/jni_bind_release.h:6216:12: note: in instantiation of function template specialization 'jni::OverloadSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 18446744073709551615, 0>, jni::IdType::OVERLOAD_PARAM>::OverloadViable<>' requested here
6216 | return OverloadViable<Ts...>() ? IdT::kSecondaryIdx : kNoIdx;
| ^
src/main/c/jni_bind_release.h:6230:34: note: in instantiation of function template specialization 'jni::OverloadSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD, 18446744073709551615, 0>, jni::IdType::OVERLOAD_PARAM>::OverloadIdxIfViable<>' requested here
6230 | kReturnIDType>::template OverloadIdxIfViable<Ts...>()>;
| ^
src/main/c/jni_bind_release.h:5900:38: note: in instantiation of template class 'jni::MethodSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM>::Helper<0>' requested here
5900 | using type = std::tuple<typename Ts::type...>;
| ^
src/main/c/jni_bind_release.h:5904:3: note: in instantiation of template class 'jni::metaprogramming::Call::Helper<std::tuple<jni::MethodSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM>::Helper<0>>>' requested here
5904 | using type = typename Helper<T>::type;
| ^
src/main/c/jni_bind_release.h:5908:1: note: in instantiation of template type alias 'type' requested here
5908 | using Call_t = typename Call::type<T>;
| ^
src/main/c/jni_bind_release.h:6235:46: note: in instantiation of template type alias 'Call_t' requested here
6235 | metaprogramming::Min, metaprogramming::Call_t<metaprogramming::Unfurl_t<
| ^
src/main/c/jni_bind_release.h:6240:54: note: in instantiation of static data member 'jni::MethodSelection<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM>::kIdxForTs<>' requested here
6240 | OverloadSelection<Id<JniT, kIDType, IdT::kIdx, kIdxForTs<Ts...>>,
| ^
src/main/c/jni_bind_release.h:6252:46: note: in instantiation of template type alias 'FindOverloadSelection' requested here
6252 | IdT, kIDType, kReturnIDType>::template FindOverloadSelection<Args...>;
| ^
src/main/c/jni_bind_release.h:6680:14: note: in instantiation of template class 'jni::OverloadSelector<jni::Id<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>, jni::IdType::OVERLOAD_SET>, jni::IdType::OVERLOAD, jni::IdType::OVERLOAD_PARAM>' requested here
6680 | : Base(Permutation_t<>::OverloadRef::Invoke(Base::GetJClass(),
| ^
src/main/c/jni_bind_release.h:6687:8: note: in instantiation of member function 'jni::ConstructorValidator<jni::JniT<_jobject *, kClass, jni::kDefaultClassLoader, jni::kDefaultJvm>>::ConstructorValidator' requested here
6687 | struct ValidatorProxy : public ConstructorValidator<JniT> {
| ^
1 warning and 8 errors generated.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment