entt: recursive error
This library is what’s first introducing me to c++17. I had to install gcc-8 g+±8 and set CMAKE_CXX_COMPILER to gcc-8 in the cmakeList, but otherwise I don’t think that should have been an issue…
[ 3%] Built target gtest
[ 7%] Built target gmock
[ 10%] Built target gmock_main
[ 14%] Built target gtest_main
[ 16%] Built target odr
[ 20%] Built target dispatcher
[ 23%] Built target delegate
[ 25%] Building CXX object test/CMakeFiles/scheduler.dir/entt/process/scheduler.cpp.o
In file included from /home/pgruenbacher/Code/cpp/ecs/entt/test/entt/process/scheduler.cpp:3:
/home/pgruenbacher/Code/cpp/ecs/entt/src/entt/process/scheduler.hpp: In instantiation of ‘entt::scheduler<Delta>::continuation entt::scheduler<Delta>::continuation::then(Args&& ...) [with Proc = succeeded_process; Args = {}; Delta = int]’:
/home/pgruenbacher/Code/cpp/ecs/entt/test/entt/process/scheduler.cpp:78:38: required from here
/home/pgruenbacher/Code/cpp/ecs/entt/src/entt/process/scheduler.hpp:65:21: error: cannot convert ‘entt::scheduler<int>::continuation’ to ‘entt::scheduler<int>::process_handler*’ in assignment
handler = scheduler::then<Proc>(handler, std::forward<Args>(args)...);
And then I get inititely recursive error.

About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 15 (15 by maintainers)
Oh, sorry, GitHub didn’t refresh it.
On my laptop the previous version worked fine with g++ 8.2.0 and it looks a lot like an issue of gcc. It seems it gets confused by the call that should be resolved to the member function of the outer class, while it resolves in on the same class, despite the namespace specifier that explicitly indicates to use the outer class!!
Btw I cannot reproduce the issue and I’ve not your version of the compiler, so… well, I’d push the change anyway, mainly because it makes sense in general and if it works around a limitation of a compiler, why not!?
Thank for pointing it out, really appreciated.
Do not forget to star the project if you like it and feel free to join the gitter channel if you have questions.
Welcome on board. 😉
sure. I already made this gif so I’ll show anyways.