You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Observed result or behaviour: iox::concurrent::LockFreeQueue fails to compile with move-only types.
Expected result or behaviour: iox::concurrent::LockFreeQueue should support move-only types.
Conditions where it occurred / Performed steps:
Make the Integer struct in test_concurrent_lockfree_queue.cpp move-only and observe when running bazel test //iceoryx_hoofs/test:hoofs_moduletests:
In file included from iceoryx_hoofs/include/iceoryx_hoofs/concurrent/lockfree_queue.hpp:131,
from iceoryx_hoofs/test/moduletests/test_concurrent_lockfree_queue.cpp:20:
iceoryx_hoofs/include/iceoryx_hoofs/internal/concurrent/lockfree_queue/lockfree_queue.inl: In instantiation of 'void iox::concurrent::LockFreeQueue<ElementType, Capacity>::writeBufferAt(const uint64_t&, T&&) [with T = {anonymous}::Integer&; ElementType = {anonymous}::Integer; long unsigned int Capacity = 10; uint64_t = long unsigned int]':
iceoryx_hoofs/include/iceoryx_hoofs/internal/concurrent/lockfree_queue/resizeable_lockfree_queue.inl:216:24: required from 'iox::optional<OptionalBaseType> iox::concurrent::ResizeableLockFreeQueue<ElementType, Capacity>::pushImpl(T&&) [with T = {anonymous}::Integer; ElementType = {anonymous}::Integer; long unsigned int MaxCapacity = 10]'
iceoryx_hoofs/include/iceoryx_hoofs/internal/concurrent/lockfree_queue/resizeable_lockfree_queue.inl:190:53: required from 'iox::optional<OptionalBaseType> iox::concurrent::ResizeableLockFreeQueue<ElementType, Capacity>::push(ElementType&&) [with ElementType = {anonymous}::Integer; long unsigned int MaxCapacity = 10]'
iceoryx_hoofs/test/moduletests/test_concurrent_lockfree_queue.cpp:313:9: required from 'void {anonymous}::LockFreeQueueTest_pushInsertsInFifoOrder_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = {anonymous}::Config<iox::concurrent::ResizeableLockFreeQueue, {anonymous}::Integer, 10, 9>]'
iceoryx_hoofs/test/moduletests/test_concurrent_lockfree_queue.cpp:301:1: required from here
iceoryx_hoofs/include/iceoryx_hoofs/internal/concurrent/lockfree_queue/lockfree_queue.inl:173:5: error: use of deleted function '{anonymous}::Integer::Integer(const {anonymous}::Integer&)'
173 | new (elementPtr) ElementType(std::forward<T>(value)); // move ctor invoked when available, copy ctor otherwise
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
iceoryx_hoofs/test/moduletests/test_concurrent_lockfree_queue.cpp:44:5: note: declared here
44 | Integer(const Integer&) = delete;
| ^~~~~~~
The text was updated successfully, but these errors were encountered:
Required information
Operating system:
Ubuntu 20.04 LTS
Compiler version:
GCC 9.4.0
Eclipse iceoryx version:
master
branchObserved result or behaviour:
iox::concurrent::LockFreeQueue
fails to compile with move-only types.Expected result or behaviour:
iox::concurrent::LockFreeQueue
should support move-only types.Conditions where it occurred / Performed steps:
Make the
Integer
struct in test_concurrent_lockfree_queue.cpp move-only and observe when runningbazel test //iceoryx_hoofs/test:hoofs_moduletests
:The text was updated successfully, but these errors were encountered: