==== Building fmt (debug) ====
==== Building sim (debug) ====
==== Building utp (debug) ====
==== Building eval (debug) ====
==== Building template (debug) ====
==== Building interop (debug) ====
interop.cu
bvh_tree.cu
nvcc warning : Resource usage is not shown as the final resource allocation is not done.
nvcc warning : Resource usage is not shown as the final resource allocation is not done.
ptxas info : 0 bytes gmem
ptxas info : 0 bytes gmem
ptxas info : Compiling entry function '_Z7raycastN4cacc6VectorINS_6Float4ELi3EEENS_6MatrixIS1_Li3ELi3EEES4_NS_7BVHTreeILNS_8LocationE1EE8AccessorENS_5ImageIfLS6_1EE4DataE' for 'sm_52'
ptxas info : Function properties for _Z7raycastN4cacc6VectorINS_6Float4ELi3EEENS_6MatrixIS1_Li3ELi3EEES4_NS_7BVHTreeILNS_8LocationE1EE8AccessorENS_5ImageIfLS6_1EE4DataE
256 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info : Used 32 registers, 6144 bytes smem, 488 bytes cmem[0], 12 bytes cmem[2]
ptxas info : Compiling entry function '_Z4copyN4cacc12ArrayTextureIfE8AccessorENS_5ImageIfLNS_8LocationE1EE4DataE' for 'sm_52'
ptxas info : Function properties for _Z4copyN4cacc12ArrayTextureIfE8AccessorENS_5ImageIfLNS_8LocationE1EE4DataE
0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info : Used 9 registers, 352 bytes cmem[0]
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {const std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>&}; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’:
/usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {const std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>&}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’
/usr/include/c++/6/functional:1363:8: required from ‘struct std::_Bind_simple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>(acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic)>’
/usr/include/c++/6/thread:137:55: required from ‘std::thread::thread(_Callable&&, _Args&& ...) [with _Callable = void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic); _Args = {acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int&, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic&}]’
../libs/acc/bvh_tree.h:141:104: required from ‘void acc::BVHTree<IdxType, Vec3fType>::split(typename acc::BVHTree<IdxType, Vec3fType>::Node::ID, const std::vector<acc::AABB<Vec3fType> >&, std::atomic) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; typename acc::BVHTree<IdxType, Vec3fType>::Node::ID = unsigned int]’
../libs/acc/bvh_tree.h:361:6: required from ‘acc::BVHTree<IdxType, Vec3fType>::BVHTree(const std::vector<T>&, const std::vector<T_OUT>&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>]’
/usr/include/c++/6/ext/new_allocator.h:120:3: [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/6/bits/shared_ptr_base.h:1098:87: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]’
/usr/include/c++/6/bits/shared_ptr.h:318:108: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >]’
/usr/include/c++/6/bits/shared_ptr.h:619:8: required from ‘std::shared_ptr<_Tp1> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’
/usr/include/c++/6/bits/shared_ptr.h:635:35: required from ‘std::shared_ptr<_Tp1> std::make_shared(_Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’
../libs/acc/bvh_tree.h:103:35: required from ‘static acc::BVHTree<IdxType, Vec3fType>::Ptr acc::BVHTree<IdxType, Vec3fType>::create(const std::vector<T>&, const std::vector<T_OUT>&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; acc::BVHTree<IdxType, Vec3fType>::Ptr = std::shared_ptr<acc::BVHTree<unsigned int, math::Vector<float, 3> > >]’
../apps/testing/interop.cu:258:77: required from here
/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
return _and<is_constructible<_Elements, _UElements&&>...>::value;
^~~~~
/usr/include/c++/6/tuple:484:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {const std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>&}; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {const std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>&}; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’:
/usr/include/c++/6/tuple:626:362: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {const std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>&}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’
/usr/include/c++/6/functional:1363:8: required from ‘struct std::_Bind_simple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>(acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic)>’
/usr/include/c++/6/thread:137:55: required from ‘std::thread::thread(_Callable&&, _Args&& ...) [with _Callable = void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic); _Args = {acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int&, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic&}]’
../libs/acc/bvh_tree.h:141:104: required from ‘void acc::BVHTree<IdxType, Vec3fType>::split(typename acc::BVHTree<IdxType, Vec3fType>::Node::ID, const std::vector<acc::AABB<Vec3fType> >&, std::atomic) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; typename acc::BVHTree<IdxType, Vec3fType>::Node::ID = unsigned int]’
../libs/acc/bvh_tree.h:361:6: required from ‘acc::BVHTree<IdxType, Vec3fType>::BVHTree(const std::vector<T>&, const std::vector<T_OUT>&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>]’
/usr/include/c++/6/ext/new_allocator.h:120:3: [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/6/bits/shared_ptr_base.h:1098:87: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]’
/usr/include/c++/6/bits/shared_ptr.h:318:108: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >]’
/usr/include/c++/6/bits/shared_ptr.h:619:8: required from ‘std::shared_ptr<_Tp1> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’
/usr/include/c++/6/bits/shared_ptr.h:635:35: required from ‘std::shared_ptr<_Tp1> std::make_shared(_Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’
../libs/acc/bvh_tree.h:103:35: required from ‘static acc::BVHTree<IdxType, Vec3fType>::Ptr acc::BVHTree<IdxType, Vec3fType>::create(const std::vector<T>&, const std::vector<T_OUT>&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; acc::BVHTree<IdxType, Vec3fType>::Ptr = std::shared_ptr<acc::BVHTree<unsigned int, math::Vector<float, 3> > >]’
../apps/testing/interop.cu:258:77: required from here
/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’
return _and<is_convertible<_UElements&&, _Elements>...>::value;
^~~~~
/usr/include/c++/6/tuple:490:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {const std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>&}; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>&; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’:
/usr/include/c++/6/tuple:662:419: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]’
/usr/include/c++/6/functional:1363:8: required from ‘struct std::_Bind_simple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>(acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic)>’
/usr/include/c++/6/thread:137:55: required from ‘std::thread::thread(_Callable&&, _Args&& ...) [with _Callable = void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic); _Args = {acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int&, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic&}]’
../libs/acc/bvh_tree.h:141:104: required from ‘void acc::BVHTree<IdxType, Vec3fType>::split(typename acc::BVHTree<IdxType, Vec3fType>::Node::ID, const std::vector<acc::AABB<Vec3fType> >&, std::atomic) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; typename acc::BVHTree<IdxType, Vec3fType>::Node::ID = unsigned int]’
../libs/acc/bvh_tree.h:361:6: required from ‘acc::BVHTree<IdxType, Vec3fType>::BVHTree(const std::vector<T>&, const std::vector<T_OUT>&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>]’
/usr/include/c++/6/ext/new_allocator.h:120:3: [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/6/bits/shared_ptr_base.h:1098:87: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]’
/usr/include/c++/6/bits/shared_ptr.h:318:108: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >]’
/usr/include/c++/6/bits/shared_ptr.h:619:8: required from ‘std::shared_ptr<_Tp1> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’
/usr/include/c++/6/bits/shared_ptr.h:635:35: required from ‘std::shared_ptr<_Tp1> std::make_shared(_Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’
../libs/acc/bvh_tree.h:103:35: required from ‘static acc::BVHTree<IdxType, Vec3fType>::Ptr acc::BVHTree<IdxType, Vec3fType>::create(const std::vector<T>&, const std::vector<T_OUT>&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; acc::BVHTree<IdxType, Vec3fType>::Ptr = std::shared_ptr<acc::BVHTree<unsigned int, math::Vector<float, 3> > >]’
../apps/testing/interop.cu:258:77: required from here
/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (6, should be 2)
return _and<_not<is_same<tuple<_Elements...>,
^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
struct is_convertible
^~~~~~~~~~~~~~
/usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>&; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>}; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’:
/usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’
/usr/include/c++/6/functional:1363:8: required from ‘struct std::_Bind_simple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>(acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic)>’
/usr/include/c++/6/thread:137:55: required from ‘std::thread::thread(_Callable&&, _Args&& ...) [with _Callable = void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic); _Args = {acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int&, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic&}]’
../libs/acc/bvh_tree.h:141:104: required from ‘void acc::BVHTree<IdxType, Vec3fType>::split(typename acc::BVHTree<IdxType, Vec3fType>::Node::ID, const std::vector<acc::AABB<Vec3fType> >&, std::atomic) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; typename acc::BVHTree<IdxType, Vec3fType>::Node::ID = unsigned int]’
../libs/acc/bvh_tree.h:361:6: required from ‘acc::BVHTree<IdxType, Vec3fType>::BVHTree(const std::vector<T>&, const std::vector<T_OUT>&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>]’
/usr/include/c++/6/ext/new_allocator.h:120:3: [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/6/bits/shared_ptr_base.h:1098:87: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]’
/usr/include/c++/6/bits/shared_ptr.h:318:108: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >]’
/usr/include/c++/6/bits/shared_ptr.h:619:8: required from ‘std::shared_ptr<_Tp1> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’
/usr/include/c++/6/bits/shared_ptr.h:635:35: required from ‘std::shared_ptr<_Tp1> std::make_shared(_Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’
../libs/acc/bvh_tree.h:103:35: required from ‘static acc::BVHTree<IdxType, Vec3fType>::Ptr acc::BVHTree<IdxType, Vec3fType>::create(const std::vector<T>&, const std::vector<T_OUT>&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; acc::BVHTree<IdxType, Vec3fType>::Ptr = std::shared_ptr<acc::BVHTree<unsigned int, math::Vector<float, 3> > >]’
../apps/testing/interop.cu:258:77: required from here
/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
return _and<is_constructible<_Elements, _UElements&&>...>::value;
^~~~~
/usr/include/c++/6/tuple:484:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>}; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>}; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’:
/usr/include/c++/6/tuple:626:362: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’
/usr/include/c++/6/functional:1363:8: required from ‘struct std::_Bind_simple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>(acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic)>’
/usr/include/c++/6/thread:137:55: required from ‘std::thread::thread(_Callable&&, _Args&& ...) [with _Callable = void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic); _Args = {acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int&, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic&}]’
../libs/acc/bvh_tree.h:141:104: required from ‘void acc::BVHTree<IdxType, Vec3fType>::split(typename acc::BVHTree<IdxType, Vec3fType>::Node::ID, const std::vector<acc::AABB<Vec3fType> >&, std::atomic) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; typename acc::BVHTree<IdxType, Vec3fType>::Node::ID = unsigned int]’
../libs/acc/bvh_tree.h:361:6: required from ‘acc::BVHTree<IdxType, Vec3fType>::BVHTree(const std::vector<T>&, const std::vector<T_OUT>&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>]’
/usr/include/c++/6/ext/new_allocator.h:120:3: [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/6/bits/shared_ptr_base.h:1098:87: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]’
/usr/include/c++/6/bits/shared_ptr.h:318:108: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >]’
/usr/include/c++/6/bits/shared_ptr.h:619:8: required from ‘std::shared_ptr<_Tp1> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’
/usr/include/c++/6/bits/shared_ptr.h:635:35: required from ‘std::shared_ptr<_Tp1> std::make_shared(_Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’
../libs/acc/bvh_tree.h:103:35: required from ‘static acc::BVHTree<IdxType, Vec3fType>::Ptr acc::BVHTree<IdxType, Vec3fType>::create(const std::vector<T>&, const std::vector<T_OUT>&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; acc::BVHTree<IdxType, Vec3fType>::Ptr = std::shared_ptr<acc::BVHTree<unsigned int, math::Vector<float, 3> > >]’
../apps/testing/interop.cu:258:77: required from here
/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’
return _and<is_convertible<_UElements&&, _Elements>...>::value;
^~~~~
/usr/include/c++/6/tuple:490:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>}; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’ not a return-statement
}
^
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>&&; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’:
/usr/include/c++/6/tuple:686:422: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]’
/usr/include/c++/6/functional:1363:8: required from ‘struct std::_Bind_simple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>(acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic)>’
/usr/include/c++/6/thread:137:55: required from ‘std::thread::thread(_Callable&&, _Args&& ...) [with _Callable = void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic); _Args = {acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int&, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic&}]’
../libs/acc/bvh_tree.h:141:104: required from ‘void acc::BVHTree<IdxType, Vec3fType>::split(typename acc::BVHTree<IdxType, Vec3fType>::Node::ID, const std::vector<acc::AABB<Vec3fType> >&, std::atomic) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; typename acc::BVHTree<IdxType, Vec3fType>::Node::ID = unsigned int]’
../libs/acc/bvh_tree.h:361:6: required from ‘acc::BVHTree<IdxType, Vec3fType>::BVHTree(const std::vector<T>&, const std::vector<T_OUT>&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>]’
/usr/include/c++/6/ext/new_allocator.h:120:3: [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/6/bits/shared_ptr_base.h:1098:87: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]’
/usr/include/c++/6/bits/shared_ptr.h:318:108: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >]’
/usr/include/c++/6/bits/shared_ptr.h:619:8: required from ‘std::shared_ptr<_Tp1> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’
/usr/include/c++/6/bits/shared_ptr.h:635:35: required from ‘std::shared_ptr<_Tp1> std::make_shared(_Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’
../libs/acc/bvh_tree.h:103:35: required from ‘static acc::BVHTree<IdxType, Vec3fType>::Ptr acc::BVHTree<IdxType, Vec3fType>::create(const std::vector<T>&, const std::vector<T_OUT>&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; acc::BVHTree<IdxType, Vec3fType>::Ptr = std::shared_ptr<acc::BVHTree<unsigned int, math::Vector<float, 3> > >]’
../apps/testing/interop.cu:258:77: required from here
/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (6, should be 2)
return _and<_not<is_same<tuple<_Elements...>,
^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
struct is_convertible
^~~~~~~~~~~~~~
/usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>&&; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’ not a return-statement
}
^
interop.make:159: recipe for target 'obj/debug/interop/interop.o' failed
make[1]: *** [obj/debug/interop/interop.o] Error 1
Makefile:202: recipe for target 'interop' failed
make: *** [interop] Error 2