Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QueuedFSM example does not compile #557

Closed
n-burger opened this issue Jun 24, 2022 · 1 comment
Closed

QueuedFSM example does not compile #557

n-burger opened this issue Jun 24, 2022 · 1 comment
Assignees
Labels

Comments

@n-burger
Copy link

n-burger commented Jun 24, 2022

With the latest changes to etl::message_packet, the QueuedFSM example does not compile anymore:

[ 50%] Building CXX object CMakeFiles/queued_fsm.dir/QueuedFSM.cpp.o
In file included from /home/etl/examples/QueuedFSM/QueuedFSM.cpp:34:
/home/etl/examples/QueuedFSM/../../include/etl/queue.h: In instantiation of ‘void etl::iqueue<T, MEMORY_MODEL>::emplace(Args&& ...) [with Args = {const etl::imessage&}; T = etl::message_packet<Message1, Message2, Message3, Message4>; long unsigned int MEMORY_MODEL = 2]’:
/home/etl/examples/QueuedFSM/QueuedFSM.cpp:107:20:   required from here
/home/etl/examples/QueuedFSM/../../include/etl/queue.h:348:7: error: call of overloaded ‘message_packet(const etl::imessage&)’ is ambiguous
  348 |       ::new (&p_buffer[in]) T(etl::forward<Args>(args)...);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/etl/examples/QueuedFSM/../../include/etl/message_router.h:59,
                 from /home/etl/examples/QueuedFSM/../../include/etl/fsm.h:62,
                 from /home/etl/examples/QueuedFSM/QueuedFSM.cpp:35:
/home/etl/examples/QueuedFSM/../../include/etl/message_packet.h:99:14: note: candidate: ‘etl::message_packet<TMessageTypes>::message_packet(TMessage&&, etl::enable_if_t<(! is_same_v<typename std::remove_reference<_Up>::type, etl::message_packet<TMessageTypes> >), int*>) [with TMessage = const etl::imessage&; TMessageTypes = {Message1, Message2, Message3, Message4}; etl::enable_if_t<(! is_same_v<typename std::remove_reference<_Up>::type, etl::message_packet<TMessageTypes> >), int*> = int*; typename std::remove_reference<_Up>::type = const etl::imessage]’
   99 |     explicit message_packet(TMessage&& msg, etl::enable_if_t<!etl::is_same_v<etl::remove_reference_t<TMessage>, etl::message_packet<TMessageTypes...>>, int*> p = nullptr)
      |              ^~~~~~~~~~~~~~
/home/etl/examples/QueuedFSM/../../include/etl/message_packet.h:85:16: note: candidate: ‘etl::message_packet<TMessageTypes>::message_packet(TMessage&&) [with TMessage = const etl::imessage&; <template-parameter-2-2> = int; TMessageTypes = {Message1, Message2, Message3, Message4}]’
   85 |       explicit message_packet(TMessage&& msg)
      |                ^~~~~~~~~~~~~~
/home/etl/examples/QueuedFSM/../../include/etl/message_packet.h:135:5: note: candidate: ‘etl::message_packet<TMessageTypes>::message_packet(etl::message_packet<TMessageTypes>&&) [with TMessageTypes = {Message1, Message2, Message3, Message4}]’
  135 |     message_packet(message_packet&& other)
      |     ^~~~~~~~~~~~~~
/home/etl/examples/QueuedFSM/../../include/etl/message_packet.h:124:5: note: candidate: ‘etl::message_packet<TMessageTypes>::message_packet(const etl::message_packet<TMessageTypes>&) [with TMessageTypes = {Message1, Message2, Message3, Message4}]’
  124 |     message_packet(const message_packet& other)
      |     ^~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/queued_fsm.dir/build.make:76: CMakeFiles/queued_fsm.dir/QueuedFSM.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/queued_fsm.dir/all] Error 2
@jwellbelove jwellbelove self-assigned this Jun 24, 2022
@jwellbelove
Copy link
Contributor

Fixed 20.29.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Development

No branches or pull requests

2 participants