Skip to content

Instantly share code, notes, and snippets.

@tjstum
Created February 8, 2023 23:33
Show Gist options
  • Save tjstum/fdc96706cd5dfcffaddcb9f3b7aaf325 to your computer and use it in GitHub Desktop.
Save tjstum/fdc96706cd5dfcffaddcb9f3b7aaf325 to your computer and use it in GitHub Desktop.
nanobind too-old eigen
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In substitution of ‘template<class T> using tensor_for_eigen_t = nanobind::tensor<typename T::Scalar, nanobind::numpy, typename std::conditional<(T::NumDimensions == 1), nanobind::shape<(long unsigned int)(T::SizeAtCompileTime)>, nanobind::shape<(long unsigned int)(T::RowsAtCompileTime), (long unsigned int)(T::ColsAtCompileTime)> >::type, typename std::conditional<(T::InnerStrideAtCompileTime == Eigen::Dynamic), nanobind::any_contig, typename std::conditional<(T::IsRowMajor || (T::NumDimensions == 1)), nanobind::c_contig, nanobind::f_contig>::type>::type> [with T = Eigen::Matrix<int, 3, 1>]’:
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:63:11: required from ‘struct nanobind::detail::type_caster<Eigen::Matrix<int, 3, 1>, int>’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Vector3i&, const Vector3i&)>; Return = Eigen::Matrix<int, 3, 1>; Args = {const Eigen::Matrix<int, 3, 1, 0, 3, 1>&, const Eigen::Matrix<int, 3, 1, 0, 3, 1>&}; long unsigned int ...Is = {0, 1}; Extra = {nanobind::scope, nanobind::name, nanobind::arg, nanobind::arg}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Vector3i&, const Vector3i&)>; Extra = {nanobind::scope, nanobind::name, nanobind::arg, nanobind::arg}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Vector3i&, const Vector3i&)>; Extra = {nanobind::arg, nanobind::arg}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:8:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Matrix<int, 3, 1>’
33 | T::NumDimensions == 1,
| ^~~~~~~~~~~~~
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In instantiation of ‘struct nanobind::detail::type_caster<Eigen::Matrix<int, 3, 1>, int>’:
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Vector3i&, const Vector3i&)>; Return = Eigen::Matrix<int, 3, 1>; Args = {const Eigen::Matrix<int, 3, 1, 0, 3, 1>&, const Eigen::Matrix<int, 3, 1, 0, 3, 1>&}; long unsigned int ...Is = {0, 1}; Extra = {nanobind::scope, nanobind::name, nanobind::arg, nanobind::arg}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Vector3i&, const Vector3i&)>; Extra = {nanobind::scope, nanobind::name, nanobind::arg, nanobind::arg}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Vector3i&, const Vector3i&)>; Extra = {nanobind::arg, nanobind::arg}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:8:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Matrix<int, 3, 1>’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In substitution of ‘template<class T> using tensor_for_eigen_t = nanobind::tensor<typename T::Scalar, nanobind::numpy, typename std::conditional<(T::NumDimensions == 1), nanobind::shape<(long unsigned int)(T::SizeAtCompileTime)>, nanobind::shape<(long unsigned int)(T::RowsAtCompileTime), (long unsigned int)(T::ColsAtCompileTime)> >::type, typename std::conditional<(T::InnerStrideAtCompileTime == Eigen::Dynamic), nanobind::any_contig, typename std::conditional<(T::IsRowMajor || (T::NumDimensions == 1)), nanobind::c_contig, nanobind::f_contig>::type>::type> [with T = Eigen::Matrix<int, 1, 3>]’:
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:63:11: required from ‘struct nanobind::detail::type_caster<Eigen::Matrix<int, 1, 3>, int>’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const RowVector3i&, const RowVector3i&)>; Return = Eigen::Matrix<int, 1, 3>; Args = {const Eigen::Matrix<int, 1, 3, 1, 1, 3>&, const Eigen::Matrix<int, 1, 3, 1, 1, 3>&}; long unsigned int ...Is = {0, 1}; Extra = {nanobind::scope, nanobind::name, nanobind::arg, nanobind::arg}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const RowVector3i&, const RowVector3i&)>; Extra = {nanobind::scope, nanobind::name, nanobind::arg, nanobind::arg}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const RowVector3i&, const RowVector3i&)>; Extra = {nanobind::arg, nanobind::arg}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:14:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Matrix<int, 1, 3>’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In instantiation of ‘struct nanobind::detail::type_caster<Eigen::Matrix<int, 1, 3>, int>’:
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const RowVector3i&, const RowVector3i&)>; Return = Eigen::Matrix<int, 1, 3>; Args = {const Eigen::Matrix<int, 1, 3, 1, 1, 3>&, const Eigen::Matrix<int, 1, 3, 1, 1, 3>&}; long unsigned int ...Is = {0, 1}; Extra = {nanobind::scope, nanobind::name, nanobind::arg, nanobind::arg}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const RowVector3i&, const RowVector3i&)>; Extra = {nanobind::scope, nanobind::name, nanobind::arg, nanobind::arg}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const RowVector3i&, const RowVector3i&)>; Extra = {nanobind::arg, nanobind::arg}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:14:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Matrix<int, 1, 3>’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In substitution of ‘template<class T> using tensor_for_eigen_t = nanobind::tensor<typename T::Scalar, nanobind::numpy, typename std::conditional<(T::NumDimensions == 1), nanobind::shape<(long unsigned int)(T::SizeAtCompileTime)>, nanobind::shape<(long unsigned int)(T::RowsAtCompileTime), (long unsigned int)(T::ColsAtCompileTime)> >::type, typename std::conditional<(T::InnerStrideAtCompileTime == Eigen::Dynamic), nanobind::any_contig, typename std::conditional<(T::IsRowMajor || (T::NumDimensions == 1)), nanobind::c_contig, nanobind::f_contig>::type>::type> [with T = Eigen::Map<const Eigen::Matrix<int, 3, 1>, 0, Eigen::InnerStride<1> >]’:
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:170:11: required from ‘struct nanobind::detail::type_caster<Eigen::Map<const Eigen::Matrix<int, 3, 1>, 0, Eigen::InnerStride<1> >, int>’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:231:45: required from ‘constexpr const auto nanobind::detail::type_caster<Eigen::Ref<const Eigen::Matrix<int, 3, 1> >, int>::Name’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:231:27: required from ‘struct nanobind::detail::type_caster<Eigen::Ref<const Eigen::Matrix<int, 3, 1> >, int>’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Eigen::Ref<const Eigen::Matrix<int, 3, 1> >&, const Eigen::Ref<const Eigen::Matrix<int, 3, 1> >&)>; Return = Eigen::Matrix<int, 3, 1>; Args = {const Eigen::Ref<const Eigen::Matrix<int, 3, 1, 0, 3, 1>, 0, Eigen::InnerStride<1> >&, const Eigen::Ref<const Eigen::Matrix<int, 3, 1, 0, 3, 1>, 0, Eigen::InnerStride<1> >&}; long unsigned int ...Is = {0, 1}; Extra = {nanobind::scope, nanobind::name, nanobind::arg, nanobind::arg}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Eigen::Ref<const Eigen::Matrix<int, 3, 1> >&, const Eigen::Ref<const Eigen::Matrix<int, 3, 1> >&)>; Extra = {nanobind::scope, nanobind::name, nanobind::arg, nanobind::arg}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Eigen::Ref<const Eigen::Matrix<int, 3, 1> >&, const Eigen::Ref<const Eigen::Matrix<int, 3, 1> >&)>; Extra = {nanobind::arg, nanobind::arg}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:20:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Map<const Eigen::Matrix<int, 3, 1>, 0, Eigen::InnerStride<1> >’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In instantiation of ‘struct nanobind::detail::type_caster<Eigen::Map<const Eigen::Matrix<int, 3, 1>, 0, Eigen::InnerStride<1> >, int>’:
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:231:45: required from ‘constexpr const auto nanobind::detail::type_caster<Eigen::Ref<const Eigen::Matrix<int, 3, 1> >, int>::Name’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:231:27: required from ‘struct nanobind::detail::type_caster<Eigen::Ref<const Eigen::Matrix<int, 3, 1> >, int>’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Eigen::Ref<const Eigen::Matrix<int, 3, 1> >&, const Eigen::Ref<const Eigen::Matrix<int, 3, 1> >&)>; Return = Eigen::Matrix<int, 3, 1>; Args = {const Eigen::Ref<const Eigen::Matrix<int, 3, 1, 0, 3, 1>, 0, Eigen::InnerStride<1> >&, const Eigen::Ref<const Eigen::Matrix<int, 3, 1, 0, 3, 1>, 0, Eigen::InnerStride<1> >&}; long unsigned int ...Is = {0, 1}; Extra = {nanobind::scope, nanobind::name, nanobind::arg, nanobind::arg}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Eigen::Ref<const Eigen::Matrix<int, 3, 1> >&, const Eigen::Ref<const Eigen::Matrix<int, 3, 1> >&)>; Extra = {nanobind::scope, nanobind::name, nanobind::arg, nanobind::arg}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Eigen::Ref<const Eigen::Matrix<int, 3, 1> >&, const Eigen::Ref<const Eigen::Matrix<int, 3, 1> >&)>; Extra = {nanobind::arg, nanobind::arg}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:20:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:26: error: ‘NumDimensions’ is not a member of ‘Eigen::Map<const Eigen::Matrix<int, 3, 1>, 0, Eigen::InnerStride<1> >’
33 | T::NumDimensions == 1,
| ~~~~~~~~~~~~~~^~~~
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In substitution of ‘template<class T> using tensor_for_eigen_t = nanobind::tensor<typename T::Scalar, nanobind::numpy, typename std::conditional<(T::NumDimensions == 1), nanobind::shape<(long unsigned int)(T::SizeAtCompileTime)>, nanobind::shape<(long unsigned int)(T::RowsAtCompileTime), (long unsigned int)(T::ColsAtCompileTime)> >::type, typename std::conditional<(T::InnerStrideAtCompileTime == Eigen::Dynamic), nanobind::any_contig, typename std::conditional<(T::IsRowMajor || (T::NumDimensions == 1)), nanobind::c_contig, nanobind::f_contig>::type>::type> [with T = Eigen::Array<int, 3, 1>]’:
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:63:11: required from ‘struct nanobind::detail::type_caster<Eigen::Array<int, 3, 1>, int>’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Array3i&, const Array3i&)>; Return = Eigen::Array<int, 3, 1>; Args = {const Eigen::Array<int, 3, 1, 0, 3, 1>&, const Eigen::Array<int, 3, 1, 0, 3, 1>&}; long unsigned int ...Is = {0, 1}; Extra = {nanobind::scope, nanobind::name, nanobind::arg, nanobind::arg}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Array3i&, const Array3i&)>; Extra = {nanobind::scope, nanobind::name, nanobind::arg, nanobind::arg}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Array3i&, const Array3i&)>; Extra = {nanobind::arg, nanobind::arg}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:28:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Array<int, 3, 1>’
33 | T::NumDimensions == 1,
| ^~~~~~~~~~~~~
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In instantiation of ‘struct nanobind::detail::type_caster<Eigen::Array<int, 3, 1>, int>’:
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Array3i&, const Array3i&)>; Return = Eigen::Array<int, 3, 1>; Args = {const Eigen::Array<int, 3, 1, 0, 3, 1>&, const Eigen::Array<int, 3, 1, 0, 3, 1>&}; long unsigned int ...Is = {0, 1}; Extra = {nanobind::scope, nanobind::name, nanobind::arg, nanobind::arg}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Array3i&, const Array3i&)>; Extra = {nanobind::scope, nanobind::name, nanobind::arg, nanobind::arg}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Array3i&, const Array3i&)>; Extra = {nanobind::arg, nanobind::arg}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:28:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Array<int, 3, 1>’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In substitution of ‘template<class T> using tensor_for_eigen_t = nanobind::tensor<typename T::Scalar, nanobind::numpy, typename std::conditional<(T::NumDimensions == 1), nanobind::shape<(long unsigned int)(T::SizeAtCompileTime)>, nanobind::shape<(long unsigned int)(T::RowsAtCompileTime), (long unsigned int)(T::ColsAtCompileTime)> >::type, typename std::conditional<(T::InnerStrideAtCompileTime == Eigen::Dynamic), nanobind::any_contig, typename std::conditional<(T::IsRowMajor || (T::NumDimensions == 1)), nanobind::c_contig, nanobind::f_contig>::type>::type> [with T = Eigen::Matrix<int, -1, 1>]’:
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:63:11: required from ‘struct nanobind::detail::type_caster<Eigen::Matrix<int, -1, 1>, int>’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const VectorXi&, const VectorXi&)>; Return = Eigen::Matrix<int, -1, 1>; Args = {const Eigen::Matrix<int, -1, 1, 0, -1, 1>&, const Eigen::Matrix<int, -1, 1, 0, -1, 1>&}; long unsigned int ...Is = {0, 1}; Extra = {nanobind::scope, nanobind::name}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const VectorXi&, const VectorXi&)>; Extra = {nanobind::scope, nanobind::name}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const VectorXi&, const VectorXi&)>; Extra = {}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:40:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Matrix<int, -1, 1>’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In instantiation of ‘struct nanobind::detail::type_caster<Eigen::Matrix<int, -1, 1>, int>’:
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const VectorXi&, const VectorXi&)>; Return = Eigen::Matrix<int, -1, 1>; Args = {const Eigen::Matrix<int, -1, 1, 0, -1, 1>&, const Eigen::Matrix<int, -1, 1, 0, -1, 1>&}; long unsigned int ...Is = {0, 1}; Extra = {nanobind::scope, nanobind::name}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const VectorXi&, const VectorXi&)>; Extra = {nanobind::scope, nanobind::name}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const VectorXi&, const VectorXi&)>; Extra = {}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:40:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Matrix<int, -1, 1>’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In substitution of ‘template<class T> using tensor_for_eigen_t = nanobind::tensor<typename T::Scalar, nanobind::numpy, typename std::conditional<(T::NumDimensions == 1), nanobind::shape<(long unsigned int)(T::SizeAtCompileTime)>, nanobind::shape<(long unsigned int)(T::RowsAtCompileTime), (long unsigned int)(T::ColsAtCompileTime)> >::type, typename std::conditional<(T::InnerStrideAtCompileTime == Eigen::Dynamic), nanobind::any_contig, typename std::conditional<(T::IsRowMajor || (T::NumDimensions == 1)), nanobind::c_contig, nanobind::f_contig>::type>::type> [with T = Eigen::Matrix<unsigned int, 4, 4, 0>]’:
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:63:11: required from ‘struct nanobind::detail::type_caster<Eigen::Matrix<unsigned int, 4, 4, 0>, int>’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Matrix4uC&, const Matrix4uC&)>; Return = Eigen::Matrix<unsigned int, 4, 4, 0>; Args = {const Eigen::Matrix<unsigned int, 4, 4, 0, 4, 4>&, const Eigen::Matrix<unsigned int, 4, 4, 0, 4, 4>&}; long unsigned int ...Is = {0, 1}; Extra = {nanobind::scope, nanobind::name}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Matrix4uC&, const Matrix4uC&)>; Extra = {nanobind::scope, nanobind::name}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Matrix4uC&, const Matrix4uC&)>; Extra = {}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:49:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Matrix<unsigned int, 4, 4, 0>’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In instantiation of ‘struct nanobind::detail::type_caster<Eigen::Matrix<unsigned int, 4, 4, 0>, int>’:
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Matrix4uC&, const Matrix4uC&)>; Return = Eigen::Matrix<unsigned int, 4, 4, 0>; Args = {const Eigen::Matrix<unsigned int, 4, 4, 0, 4, 4>&, const Eigen::Matrix<unsigned int, 4, 4, 0, 4, 4>&}; long unsigned int ...Is = {0, 1}; Extra = {nanobind::scope, nanobind::name}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Matrix4uC&, const Matrix4uC&)>; Extra = {nanobind::scope, nanobind::name}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Matrix4uC&, const Matrix4uC&)>; Extra = {}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:49:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Matrix<unsigned int, 4, 4, 0>’
[ 94%] Built target test_bind_vector_ext
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In substitution of ‘template<class T> using tensor_for_eigen_t = nanobind::tensor<typename T::Scalar, nanobind::numpy, typename std::conditional<(T::NumDimensions == 1), nanobind::shape<(long unsigned int)(T::SizeAtCompileTime)>, nanobind::shape<(long unsigned int)(T::RowsAtCompileTime), (long unsigned int)(T::ColsAtCompileTime)> >::type, typename std::conditional<(T::InnerStrideAtCompileTime == Eigen::Dynamic), nanobind::any_contig, typename std::conditional<(T::IsRowMajor || (T::NumDimensions == 1)), nanobind::c_contig, nanobind::f_contig>::type>::type> [with T = Eigen::Matrix<unsigned int, -1, -1, 0>]’:
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:63:11: required from ‘struct nanobind::detail::type_caster<Eigen::Matrix<unsigned int, -1, -1, 0>, int>’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const MatrixXuC&, const MatrixXuC&)>; Return = Eigen::Matrix<unsigned int, -1, -1, 0>; Args = {const Eigen::Matrix<unsigned int, -1, -1, 0, -1, -1>&, const Eigen::Matrix<unsigned int, -1, -1, 0, -1, -1>&}; long unsigned int ...Is = {0, 1}; Extra = {nanobind::scope, nanobind::name}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const MatrixXuC&, const MatrixXuC&)>; Extra = {nanobind::scope, nanobind::name}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const MatrixXuC&, const MatrixXuC&)>; Extra = {}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:52:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Matrix<unsigned int, -1, -1, 0>’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In instantiation of ‘struct nanobind::detail::type_caster<Eigen::Matrix<unsigned int, -1, -1, 0>, int>’:
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const MatrixXuC&, const MatrixXuC&)>; Return = Eigen::Matrix<unsigned int, -1, -1, 0>; Args = {const Eigen::Matrix<unsigned int, -1, -1, 0, -1, -1>&, const Eigen::Matrix<unsigned int, -1, -1, 0, -1, -1>&}; long unsigned int ...Is = {0, 1}; Extra = {nanobind::scope, nanobind::name}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const MatrixXuC&, const MatrixXuC&)>; Extra = {nanobind::scope, nanobind::name}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const MatrixXuC&, const MatrixXuC&)>; Extra = {}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:52:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Matrix<unsigned int, -1, -1, 0>’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In substitution of ‘template<class T> using tensor_for_eigen_t = nanobind::tensor<typename T::Scalar, nanobind::numpy, typename std::conditional<(T::NumDimensions == 1), nanobind::shape<(long unsigned int)(T::SizeAtCompileTime)>, nanobind::shape<(long unsigned int)(T::RowsAtCompileTime), (long unsigned int)(T::ColsAtCompileTime)> >::type, typename std::conditional<(T::InnerStrideAtCompileTime == Eigen::Dynamic), nanobind::any_contig, typename std::conditional<(T::IsRowMajor || (T::NumDimensions == 1)), nanobind::c_contig, nanobind::f_contig>::type>::type> [with T = Eigen::Matrix<unsigned int, 4, 4, 1>]’:
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:63:11: required from ‘struct nanobind::detail::type_caster<Eigen::Matrix<unsigned int, 4, 4, 1>, int>’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Matrix4uR&, const Matrix4uR&)>; Return = Eigen::Matrix<unsigned int, 4, 4, 1>; Args = {const Eigen::Matrix<unsigned int, 4, 4, 1, 4, 4>&, const Eigen::Matrix<unsigned int, 4, 4, 1, 4, 4>&}; long unsigned int ...Is = {0, 1}; Extra = {nanobind::scope, nanobind::name}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Matrix4uR&, const Matrix4uR&)>; Extra = {nanobind::scope, nanobind::name}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Matrix4uR&, const Matrix4uR&)>; Extra = {}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:61:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Matrix<unsigned int, 4, 4, 1>’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In instantiation of ‘struct nanobind::detail::type_caster<Eigen::Matrix<unsigned int, 4, 4, 1>, int>’:
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Matrix4uR&, const Matrix4uR&)>; Return = Eigen::Matrix<unsigned int, 4, 4, 1>; Args = {const Eigen::Matrix<unsigned int, 4, 4, 1, 4, 4>&, const Eigen::Matrix<unsigned int, 4, 4, 1, 4, 4>&}; long unsigned int ...Is = {0, 1}; Extra = {nanobind::scope, nanobind::name}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Matrix4uR&, const Matrix4uR&)>; Extra = {nanobind::scope, nanobind::name}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const Matrix4uR&, const Matrix4uR&)>; Extra = {}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:61:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Matrix<unsigned int, 4, 4, 1>’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In substitution of ‘template<class T> using tensor_for_eigen_t = nanobind::tensor<typename T::Scalar, nanobind::numpy, typename std::conditional<(T::NumDimensions == 1), nanobind::shape<(long unsigned int)(T::SizeAtCompileTime)>, nanobind::shape<(long unsigned int)(T::RowsAtCompileTime), (long unsigned int)(T::ColsAtCompileTime)> >::type, typename std::conditional<(T::InnerStrideAtCompileTime == Eigen::Dynamic), nanobind::any_contig, typename std::conditional<(T::IsRowMajor || (T::NumDimensions == 1)), nanobind::c_contig, nanobind::f_contig>::type>::type> [with T = Eigen::Matrix<unsigned int, -1, -1, 1>]’:
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:63:11: required from ‘struct nanobind::detail::type_caster<Eigen::Matrix<unsigned int, -1, -1, 1>, int>’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const MatrixXuR&, const MatrixXuR&)>; Return = Eigen::Matrix<unsigned int, -1, -1, 1>; Args = {const Eigen::Matrix<unsigned int, -1, -1, 1, -1, -1>&, const Eigen::Matrix<unsigned int, -1, -1, 1, -1, -1>&}; long unsigned int ...Is = {0, 1}; Extra = {nanobind::scope, nanobind::name}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const MatrixXuR&, const MatrixXuR&)>; Extra = {nanobind::scope, nanobind::name}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const MatrixXuR&, const MatrixXuR&)>; Extra = {}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:64:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Matrix<unsigned int, -1, -1, 1>’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In instantiation of ‘struct nanobind::detail::type_caster<Eigen::Matrix<unsigned int, -1, -1, 1>, int>’:
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const MatrixXuR&, const MatrixXuR&)>; Return = Eigen::Matrix<unsigned int, -1, -1, 1>; Args = {const Eigen::Matrix<unsigned int, -1, -1, 1, -1, -1>&, const Eigen::Matrix<unsigned int, -1, -1, 1, -1, -1>&}; long unsigned int ...Is = {0, 1}; Extra = {nanobind::scope, nanobind::name}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const MatrixXuR&, const MatrixXuR&)>; Extra = {nanobind::scope, nanobind::name}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(const MatrixXuR&, const MatrixXuR&)>; Extra = {}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:64:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Matrix<unsigned int, -1, -1, 1>’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In substitution of ‘template<class T> using tensor_for_eigen_t = nanobind::tensor<typename T::Scalar, nanobind::numpy, typename std::conditional<(T::NumDimensions == 1), nanobind::shape<(long unsigned int)(T::SizeAtCompileTime)>, nanobind::shape<(long unsigned int)(T::RowsAtCompileTime), (long unsigned int)(T::ColsAtCompileTime)> >::type, typename std::conditional<(T::InnerStrideAtCompileTime == Eigen::Dynamic), nanobind::any_contig, typename std::conditional<(T::IsRowMajor || (T::NumDimensions == 1)), nanobind::c_contig, nanobind::f_contig>::type>::type> [with T = Eigen::Map<const Eigen::Matrix<unsigned int, -1, -1, 0>, 0, Eigen::Stride<-1, -1> >]’:
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:170:11: required from ‘struct nanobind::detail::type_caster<Eigen::Map<const Eigen::Matrix<unsigned int, -1, -1, 0>, 0, Eigen::Stride<-1, -1> >, int>’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:231:45: required from ‘constexpr const auto nanobind::detail::type_caster<Eigen::Ref<const Eigen::Matrix<unsigned int, -1, -1, 0>, 0, Eigen::Stride<-1, -1> >, int>::Name’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:231:27: required from ‘struct nanobind::detail::type_caster<Eigen::Ref<const Eigen::Matrix<unsigned int, -1, -1, 0>, 0, Eigen::Stride<-1, -1> >, int>’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(nanobind::EigenDRef<const Eigen::Matrix<unsigned int, -1, -1, 0> >&, nanobind::EigenDRef<const Eigen::Matrix<unsigned int, -1, -1, 0> >&)>; Return = Eigen::Matrix<unsigned int, -1, -1, 0>; Args = {const Eigen::Ref<const Eigen::Matrix<unsigned int, -1, -1, 0, -1, -1>, 0, Eigen::Stride<-1, -1> >&, const Eigen::Ref<const Eigen::Matrix<unsigned int, -1, -1, 0, -1, -1>, 0, Eigen::Stride<-1, -1> >&}; long unsigned int ...Is = {0, 1}; Extra = {nanobind::scope, nanobind::name, nanobind::arg, nanobind::arg}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(nanobind::EigenDRef<const Eigen::Matrix<unsigned int, -1, -1, 0> >&, nanobind::EigenDRef<const Eigen::Matrix<unsigned int, -1, -1, 0> >&)>; Extra = {nanobind::scope, nanobind::name, nanobind::arg, nanobind::arg}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(nanobind::EigenDRef<const Eigen::Matrix<unsigned int, -1, -1, 0> >&, nanobind::EigenDRef<const Eigen::Matrix<unsigned int, -1, -1, 0> >&)>; Extra = {nanobind::arg, nanobind::arg}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:86:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Map<const Eigen::Matrix<unsigned int, -1, -1, 0>, 0, Eigen::Stride<-1, -1> >’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In instantiation of ‘struct nanobind::detail::type_caster<Eigen::Map<const Eigen::Matrix<unsigned int, -1, -1, 0>, 0, Eigen::Stride<-1, -1> >, int>’:
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:231:45: required from ‘constexpr const auto nanobind::detail::type_caster<Eigen::Ref<const Eigen::Matrix<unsigned int, -1, -1, 0>, 0, Eigen::Stride<-1, -1> >, int>::Name’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:231:27: required from ‘struct nanobind::detail::type_caster<Eigen::Ref<const Eigen::Matrix<unsigned int, -1, -1, 0>, 0, Eigen::Stride<-1, -1> >, int>’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(nanobind::EigenDRef<const Eigen::Matrix<unsigned int, -1, -1, 0> >&, nanobind::EigenDRef<const Eigen::Matrix<unsigned int, -1, -1, 0> >&)>; Return = Eigen::Matrix<unsigned int, -1, -1, 0>; Args = {const Eigen::Ref<const Eigen::Matrix<unsigned int, -1, -1, 0, -1, -1>, 0, Eigen::Stride<-1, -1> >&, const Eigen::Ref<const Eigen::Matrix<unsigned int, -1, -1, 0, -1, -1>, 0, Eigen::Stride<-1, -1> >&}; long unsigned int ...Is = {0, 1}; Extra = {nanobind::scope, nanobind::name, nanobind::arg, nanobind::arg}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(nanobind::EigenDRef<const Eigen::Matrix<unsigned int, -1, -1, 0> >&, nanobind::EigenDRef<const Eigen::Matrix<unsigned int, -1, -1, 0> >&)>; Extra = {nanobind::scope, nanobind::name, nanobind::arg, nanobind::arg}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(nanobind::EigenDRef<const Eigen::Matrix<unsigned int, -1, -1, 0> >&, nanobind::EigenDRef<const Eigen::Matrix<unsigned int, -1, -1, 0> >&)>; Extra = {nanobind::arg, nanobind::arg}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:86:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:26: error: ‘NumDimensions’ is not a member of ‘Eigen::Map<const Eigen::Matrix<unsigned int, -1, -1, 0>, 0, Eigen::Stride<-1, -1> >’
33 | T::NumDimensions == 1,
| ~~~~~~~~~~~~~~^~~~
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In substitution of ‘template<class T> using tensor_for_eigen_t = nanobind::tensor<typename T::Scalar, nanobind::numpy, typename std::conditional<(T::NumDimensions == 1), nanobind::shape<(long unsigned int)(T::SizeAtCompileTime)>, nanobind::shape<(long unsigned int)(T::RowsAtCompileTime), (long unsigned int)(T::ColsAtCompileTime)> >::type, typename std::conditional<(T::InnerStrideAtCompileTime == Eigen::Dynamic), nanobind::any_contig, typename std::conditional<(T::IsRowMajor || (T::NumDimensions == 1)), nanobind::c_contig, nanobind::f_contig>::type>::type> [with T = Eigen::Map<Eigen::Matrix<int, 3, 1>, 0, Eigen::InnerStride<1> >]’:
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:170:11: required from ‘struct nanobind::detail::type_caster<Eigen::Map<Eigen::Matrix<int, 3, 1>, 0, Eigen::InnerStride<1> >, int>’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:231:45: required from ‘constexpr const auto nanobind::detail::type_caster<Eigen::Ref<Eigen::Matrix<int, 3, 1> >, int>::Name’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:231:27: required from ‘struct nanobind::detail::type_caster<Eigen::Ref<Eigen::Matrix<int, 3, 1> >, int>’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(Eigen::Ref<Eigen::Matrix<int, 3, 1> >)>; Return = void; Args = {Eigen::Ref<Eigen::Matrix<int, 3, 1, 0, 3, 1>, 0, Eigen::InnerStride<1> >}; long unsigned int ...Is = {0}; Extra = {nanobind::scope, nanobind::name}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(Eigen::Ref<Eigen::Matrix<int, 3, 1> >)>; Extra = {nanobind::scope, nanobind::name}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(Eigen::Ref<Eigen::Matrix<int, 3, 1> >)>; Extra = {}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:91:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Map<Eigen::Matrix<int, 3, 1>, 0, Eigen::InnerStride<1> >’
33 | T::NumDimensions == 1,
| ^~~~~~~~~~~~~
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In instantiation of ‘struct nanobind::detail::type_caster<Eigen::Map<Eigen::Matrix<int, 3, 1>, 0, Eigen::InnerStride<1> >, int>’:
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:231:45: required from ‘constexpr const auto nanobind::detail::type_caster<Eigen::Ref<Eigen::Matrix<int, 3, 1> >, int>::Name’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:231:27: required from ‘struct nanobind::detail::type_caster<Eigen::Ref<Eigen::Matrix<int, 3, 1> >, int>’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(Eigen::Ref<Eigen::Matrix<int, 3, 1> >)>; Return = void; Args = {Eigen::Ref<Eigen::Matrix<int, 3, 1, 0, 3, 1>, 0, Eigen::InnerStride<1> >}; long unsigned int ...Is = {0}; Extra = {nanobind::scope, nanobind::name}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(Eigen::Ref<Eigen::Matrix<int, 3, 1> >)>; Extra = {nanobind::scope, nanobind::name}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(Eigen::Ref<Eigen::Matrix<int, 3, 1> >)>; Extra = {}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:91:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:26: error: ‘NumDimensions’ is not a member of ‘Eigen::Map<Eigen::Matrix<int, 3, 1>, 0, Eigen::InnerStride<1> >’
33 | T::NumDimensions == 1,
| ~~~~~~~~~~~~~~^~~~
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In substitution of ‘template<class T> using tensor_for_eigen_t = nanobind::tensor<typename T::Scalar, nanobind::numpy, typename std::conditional<(T::NumDimensions == 1), nanobind::shape<(long unsigned int)(T::SizeAtCompileTime)>, nanobind::shape<(long unsigned int)(T::RowsAtCompileTime), (long unsigned int)(T::ColsAtCompileTime)> >::type, typename std::conditional<(T::InnerStrideAtCompileTime == Eigen::Dynamic), nanobind::any_contig, typename std::conditional<(T::IsRowMajor || (T::NumDimensions == 1)), nanobind::c_contig, nanobind::f_contig>::type>::type> [with T = Eigen::Map<Eigen::Matrix<int, -1, 1>, 0, Eigen::InnerStride<1> >]’:
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:170:11: required from ‘struct nanobind::detail::type_caster<Eigen::Map<Eigen::Matrix<int, -1, 1>, 0, Eigen::InnerStride<1> >, int>’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:231:45: required from ‘constexpr const auto nanobind::detail::type_caster<Eigen::Ref<Eigen::Matrix<int, -1, 1> >, int>::Name’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:231:27: required from ‘struct nanobind::detail::type_caster<Eigen::Ref<Eigen::Matrix<int, -1, 1> >, int>’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(Eigen::Ref<Eigen::Matrix<int, -1, 1> >)>; Return = void; Args = {Eigen::Ref<Eigen::Matrix<int, -1, 1, 0, -1, 1>, 0, Eigen::InnerStride<1> >}; long unsigned int ...Is = {0}; Extra = {nanobind::scope, nanobind::name}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(Eigen::Ref<Eigen::Matrix<int, -1, 1> >)>; Extra = {nanobind::scope, nanobind::name}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(Eigen::Ref<Eigen::Matrix<int, -1, 1> >)>; Extra = {}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:92:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Map<Eigen::Matrix<int, -1, 1>, 0, Eigen::InnerStride<1> >’
33 | T::NumDimensions == 1,
| ^~~~~~~~~~~~~
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In instantiation of ‘struct nanobind::detail::type_caster<Eigen::Map<Eigen::Matrix<int, -1, 1>, 0, Eigen::InnerStride<1> >, int>’:
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:231:45: required from ‘constexpr const auto nanobind::detail::type_caster<Eigen::Ref<Eigen::Matrix<int, -1, 1> >, int>::Name’
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:231:27: required from ‘struct nanobind::detail::type_caster<Eigen::Ref<Eigen::Matrix<int, -1, 1> >, int>’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:64:64: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(Eigen::Ref<Eigen::Matrix<int, -1, 1> >)>; Return = void; Args = {Eigen::Ref<Eigen::Matrix<int, -1, 1, 0, -1, 1>, 0, Eigen::InnerStride<1> >}; long unsigned int ...Is = {0}; Extra = {nanobind::scope, nanobind::name}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:181:37: required from ‘void nanobind::cpp_function_def(Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(Eigen::Ref<Eigen::Matrix<int, -1, 1> >)>; Extra = {nanobind::scope, nanobind::name}; typename std::enable_if<is_lambda_v<typename std::remove_reference<_Tp>::type>, int>::type <anonymous> = 0]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:230:21: required from ‘nanobind::module_& nanobind::module_::def(const char*, Func&&, const Extra& ...) [with Func = nanobind_init_test_eigen_ext(nanobind::module_&)::<lambda(Eigen::Ref<Eigen::Matrix<int, -1, 1> >)>; Extra = {}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:92:10: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:26: error: ‘NumDimensions’ is not a member of ‘Eigen::Map<Eigen::Matrix<int, -1, 1>, 0, Eigen::InnerStride<1> >’
33 | T::NumDimensions == 1,
| ~~~~~~~~~~~~~~^~~~
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In substitution of ‘template<class T> using tensor_for_eigen_t = nanobind::tensor<typename T::Scalar, nanobind::numpy, typename std::conditional<(T::NumDimensions == 1), nanobind::shape<(long unsigned int)(T::SizeAtCompileTime)>, nanobind::shape<(long unsigned int)(T::RowsAtCompileTime), (long unsigned int)(T::ColsAtCompileTime)> >::type, typename std::conditional<(T::InnerStrideAtCompileTime == Eigen::Dynamic), nanobind::any_contig, typename std::conditional<(T::IsRowMajor || (T::NumDimensions == 1)), nanobind::c_contig, nanobind::f_contig>::type>::type> [with T = Eigen::Map<Eigen::Array<unsigned int, 10, 3> >]’:
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:170:11: required from ‘struct nanobind::detail::type_caster<Eigen::Map<Eigen::Array<unsigned int, 10, 3> >, int>’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:65:41: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind::cpp_function_def<Eigen::Map<Eigen::Array<unsigned int, 10, 3> >, nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer, nanobind::scope, nanobind::name, nanobind::is_method, nanobind::rv_policy>(Eigen::Map<Eigen::Array<unsigned int, 10, 3> > (nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer::*)(), const nanobind::scope&, const nanobind::name&, const nanobind::is_method&, const nanobind::rv_policy&)::<lambda(nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer*)>; Return = Eigen::Map<Eigen::Array<unsigned int, 10, 3> >; Args = {nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer*}; long unsigned int ...Is = {0}; Extra = {nanobind::scope, nanobind::name, nanobind::is_method, nanobind::rv_policy}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:199:37: required from ‘void nanobind::cpp_function_def(Return (Class::*)(Args ...), const Extra& ...) [with Return = Eigen::Map<Eigen::Array<unsigned int, 10, 3> >; Class = nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer; Args = {}; Extra = {nanobind::scope, nanobind::name, nanobind::is_method, nanobind::rv_policy}]’
/home/stum/remote/nanobind/include/nanobind/nb_class.h:323:25: required from ‘nanobind::class_<T, Ts>& nanobind::class_<T, Ts>::def(const char*, Func&&, const Extra& ...) [with Func = Eigen::Map<Eigen::Array<unsigned int, 10, 3> > (nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer::*)(); Extra = {nanobind::rv_policy}; T = nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer; Ts = {}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:106:13: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Map<Eigen::Array<unsigned int, 10, 3> >’
33 | T::NumDimensions == 1,
| ^~~~~~~~~~~~~
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In instantiation of ‘struct nanobind::detail::type_caster<Eigen::Map<Eigen::Array<unsigned int, 10, 3> >, int>’:
/home/stum/remote/nanobind/include/nanobind/nb_func.h:65:41: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind::cpp_function_def<Eigen::Map<Eigen::Array<unsigned int, 10, 3> >, nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer, nanobind::scope, nanobind::name, nanobind::is_method, nanobind::rv_policy>(Eigen::Map<Eigen::Array<unsigned int, 10, 3> > (nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer::*)(), const nanobind::scope&, const nanobind::name&, const nanobind::is_method&, const nanobind::rv_policy&)::<lambda(nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer*)>; Return = Eigen::Map<Eigen::Array<unsigned int, 10, 3> >; Args = {nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer*}; long unsigned int ...Is = {0}; Extra = {nanobind::scope, nanobind::name, nanobind::is_method, nanobind::rv_policy}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:199:37: required from ‘void nanobind::cpp_function_def(Return (Class::*)(Args ...), const Extra& ...) [with Return = Eigen::Map<Eigen::Array<unsigned int, 10, 3> >; Class = nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer; Args = {}; Extra = {nanobind::scope, nanobind::name, nanobind::is_method, nanobind::rv_policy}]’
/home/stum/remote/nanobind/include/nanobind/nb_class.h:323:25: required from ‘nanobind::class_<T, Ts>& nanobind::class_<T, Ts>::def(const char*, Func&&, const Extra& ...) [with Func = Eigen::Map<Eigen::Array<unsigned int, 10, 3> > (nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer::*)(); Extra = {nanobind::rv_policy}; T = nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer; Ts = {}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:106:13: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:26: error: ‘NumDimensions’ is not a member of ‘Eigen::Map<Eigen::Array<unsigned int, 10, 3> >’
33 | T::NumDimensions == 1,
| ~~~~~~~~~~~~~~^~~~
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In substitution of ‘template<class T> using tensor_for_eigen_t = nanobind::tensor<typename T::Scalar, nanobind::numpy, typename std::conditional<(T::NumDimensions == 1), nanobind::shape<(long unsigned int)(T::SizeAtCompileTime)>, nanobind::shape<(long unsigned int)(T::RowsAtCompileTime), (long unsigned int)(T::ColsAtCompileTime)> >::type, typename std::conditional<(T::InnerStrideAtCompileTime == Eigen::Dynamic), nanobind::any_contig, typename std::conditional<(T::IsRowMajor || (T::NumDimensions == 1)), nanobind::c_contig, nanobind::f_contig>::type>::type> [with T = Eigen::Map<Eigen::Array<unsigned int, -1, -1, 0, -1, -1> >]’:
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:170:11: required from ‘struct nanobind::detail::type_caster<Eigen::Map<Eigen::Array<unsigned int, -1, -1, 0, -1, -1> >, int>’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:65:41: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind::cpp_function_def<Eigen::Map<Eigen::Array<unsigned int, -1, -1, 0, -1, -1> >, nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer, nanobind::scope, nanobind::name, nanobind::is_method, nanobind::rv_policy>(Eigen::Map<Eigen::Array<unsigned int, -1, -1, 0, -1, -1> > (nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer::*)(), const nanobind::scope&, const nanobind::name&, const nanobind::is_method&, const nanobind::rv_policy&)::<lambda(nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer*)>; Return = Eigen::Map<Eigen::Array<unsigned int, -1, -1, 0, -1, -1> >; Args = {nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer*}; long unsigned int ...Is = {0}; Extra = {nanobind::scope, nanobind::name, nanobind::is_method, nanobind::rv_policy}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:199:37: required from ‘void nanobind::cpp_function_def(Return (Class::*)(Args ...), const Extra& ...) [with Return = Eigen::Map<Eigen::Array<unsigned int, -1, -1, 0, -1, -1> >; Class = nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer; Args = {}; Extra = {nanobind::scope, nanobind::name, nanobind::is_method, nanobind::rv_policy}]’
/home/stum/remote/nanobind/include/nanobind/nb_class.h:323:25: required from ‘nanobind::class_<T, Ts>& nanobind::class_<T, Ts>::def(const char*, Func&&, const Extra& ...) [with Func = Eigen::Map<Eigen::Array<unsigned int, -1, -1, 0, -1, -1> > (nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer::*)(); Extra = {nanobind::rv_policy}; T = nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer; Ts = {}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:107:13: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:12: error: ‘NumDimensions’ is not a member of ‘Eigen::Map<Eigen::Array<unsigned int, -1, -1, 0, -1, -1> >’
33 | T::NumDimensions == 1,
| ^~~~~~~~~~~~~
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h: In instantiation of ‘struct nanobind::detail::type_caster<Eigen::Map<Eigen::Array<unsigned int, -1, -1, 0, -1, -1> >, int>’:
/home/stum/remote/nanobind/include/nanobind/nb_func.h:65:41: required from ‘PyObject* nanobind::detail::func_create(Func&&, Return (*)(Args ...), std::index_sequence<Is2 ...>, const Extra& ...) [with bool ReturnRef = false; bool CheckGuard = true; Func = nanobind::cpp_function_def<Eigen::Map<Eigen::Array<unsigned int, -1, -1, 0, -1, -1> >, nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer, nanobind::scope, nanobind::name, nanobind::is_method, nanobind::rv_policy>(Eigen::Map<Eigen::Array<unsigned int, -1, -1, 0, -1, -1> > (nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer::*)(), const nanobind::scope&, const nanobind::name&, const nanobind::is_method&, const nanobind::rv_policy&)::<lambda(nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer*)>; Return = Eigen::Map<Eigen::Array<unsigned int, -1, -1, 0, -1, -1> >; Args = {nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer*}; long unsigned int ...Is = {0}; Extra = {nanobind::scope, nanobind::name, nanobind::is_method, nanobind::rv_policy}; PyObject = _object; std::index_sequence<Is2 ...> = std::integer_sequence<long unsigned int, 0>]’
/home/stum/remote/nanobind/include/nanobind/nb_func.h:199:37: required from ‘void nanobind::cpp_function_def(Return (Class::*)(Args ...), const Extra& ...) [with Return = Eigen::Map<Eigen::Array<unsigned int, -1, -1, 0, -1, -1> >; Class = nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer; Args = {}; Extra = {nanobind::scope, nanobind::name, nanobind::is_method, nanobind::rv_policy}]’
/home/stum/remote/nanobind/include/nanobind/nb_class.h:323:25: required from ‘nanobind::class_<T, Ts>& nanobind::class_<T, Ts>::def(const char*, Func&&, const Extra& ...) [with Func = Eigen::Map<Eigen::Array<unsigned int, -1, -1, 0, -1, -1> > (nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer::*)(); Extra = {nanobind::rv_policy}; T = nanobind_init_test_eigen_ext(nanobind::module_&)::Buffer; Ts = {}]’
/home/stum/remote/nanobind/tests/test_eigen.cpp:107:13: required from here
/home/stum/remote/nanobind/include/nanobind/eigen/dense.h:33:26: error: ‘NumDimensions’ is not a member of ‘Eigen::Map<Eigen::Array<unsigned int, -1, -1, 0, -1, -1> >’
33 | T::NumDimensions == 1,
| ~~~~~~~~~~~~~~^~~~
make[2]: *** [tests/CMakeFiles/test_eigen_ext.dir/build.make:82: tests/CMakeFiles/test_eigen_ext.dir/test_eigen.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:578: tests/CMakeFiles/test_eigen_ext.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment