-
Notifications
You must be signed in to change notification settings - Fork 522
Closed
Description
I'm building ros2 beta2, and I've run into some issues with some code in function_traits and its tests.
- fedora 26 x86_64
- gcc-7.1.1
[ 91%] Building CXX object CMakeFiles/test_function_traits.dir/test/test_function_traits.cpp.o
/usr/bin/c++ -I/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/include -I/home/rich/code/ros2-beta2/install/include -Wall -Wextra -Wpedantic -pthread -std=gnu++14 -o CMakeFiles/test_function_traits.dir/test/test_function_traits.cpp.o -c /home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/test/test_function_traits.cpp
In file included from /home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/test/test_function_traits.cpp:20:0:
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/include/rclcpp/function_traits.hpp: In instantiation of ‘struct rclcpp::function_traits::function_traits<std::_Bind<int (ObjectMember::*(ObjectMember*, std::_Placeholder<1>))(bool)> >’:
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/test/test_function_traits.cpp:394:72: required from here
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/include/rclcpp/function_traits.hpp:52:85: error: decltype cannot resolve address of overloaded function
typename function_traits<decltype( & FunctionT::operator())>::arguments>::type;
^
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/include/rclcpp/function_traits.hpp:57:72: error: decltype cannot resolve address of overloaded function
using argument_type = typename std::tuple_element<N, arguments>::type;
^
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/include/rclcpp/function_traits.hpp:59:96: error: decltype cannot resolve address of overloaded function
using return_type = typename function_traits<decltype( & FunctionT::operator())>::return_type;
^
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/test/test_function_traits.cpp: In member function ‘virtual void TestFunctionTraits_argument_types_Test::TestBody()’:
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/test/test_function_traits.cpp:395:5: error: template argument 2 is invalid
>::value, "Functor accepts a bool as first argument");
^
In file included from /home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/test/test_function_traits.cpp:20:0:
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/include/rclcpp/function_traits.hpp: In instantiation of ‘struct rclcpp::function_traits::function_traits<std::_Bind<int (ObjectMember::*(ObjectMember*, std::_Placeholder<1>, std::_Placeholder<2>))(bool, bool)> >’:
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/test/test_function_traits.cpp:404:73: required from here
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/include/rclcpp/function_traits.hpp:52:85: error: decltype cannot resolve address of overloaded function
typename function_traits<decltype( & FunctionT::operator())>::arguments>::type;
^
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/include/rclcpp/function_traits.hpp:57:72: error: decltype cannot resolve address of overloaded function
using argument_type = typename std::tuple_element<N, arguments>::type;
^
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/include/rclcpp/function_traits.hpp:59:96: error: decltype cannot resolve address of overloaded function
using return_type = typename function_traits<decltype( & FunctionT::operator())>::return_type;
^
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/test/test_function_traits.cpp:405:5: error: template argument 2 is invalid
>::value, "Functor accepts a bool as first argument");
^
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/test/test_function_traits.cpp:411:5: error: template argument 2 is invalid
>::value, "Functor accepts a bool as second argument");
^
In file included from /home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/test/test_function_traits.cpp:20:0:
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/include/rclcpp/function_traits.hpp: In instantiation of ‘struct rclcpp::function_traits::function_traits<std::_Bind<int (ObjectMember::*(ObjectMember*, std::_Placeholder<1>, std::_Placeholder<2>))(bool, float)> >’:
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/test/test_function_traits.cpp:422:8: required from here
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/include/rclcpp/function_traits.hpp:52:85: error: decltype cannot resolve address of overloaded function
typename function_traits<decltype( & FunctionT::operator())>::arguments>::type;
^
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/include/rclcpp/function_traits.hpp:57:72: error: decltype cannot resolve address of overloaded function
using argument_type = typename std::tuple_element<N, arguments>::type;
^
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/include/rclcpp/function_traits.hpp:59:96: error: decltype cannot resolve address of overloaded function
using return_type = typename function_traits<decltype( & FunctionT::operator())>::return_type;
^
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/test/test_function_traits.cpp:423:5: error: template argument 2 is invalid
>::value, "Functor accepts a bool as first argument");
^
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/test/test_function_traits.cpp:431:5: error: template argument 2 is invalid
>::value, "Functor accepts a float as second argument");
^
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/test/test_function_traits.cpp: In member function ‘virtual void TestFunctionTraits_check_arguments_Test::TestBody()’:
/home/rich/code/ros2-beta2/src/ros2/rclcpp/rclcpp/test/test_function_traits.cpp:562:78: error: ‘value’ is not a member of ‘rclcpp::function_traits::check_arguments<std::_Bind<int (ObjectMember::*(ObjectMember*, std::_Placeholder<1>))(bool)>, bool>’
rclcpp::function_traits::check_arguments<decltype(bind_one_bool), bool>::value,
^~~~~
make[2]: *** [CMakeFiles/test_function_traits.dir/build.make:66: CMakeFiles/test_function_traits.dir/test/test_function_traits.cpp.o] Error 1
make[2]: Leaving directory '/home/rich/code/ros2-beta2/build/rclcpp'
make[1]: *** [CMakeFiles/Makefile2:1439: CMakeFiles/test_function_traits.dir/all] Error 2
make[1]: Leaving directory '/home/rich/code/ros2-beta2/build/rclcpp'
make: *** [Makefile:144: all] Error 2
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels