id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 10224,[property map] compilation error : make_function_property_map,Akira Takahashi ,Douglas Gregor,"`make_function_property_map()` function can not apply function pointer. {{{ #include int get_prop(double) { return 1; } struct get_prop_functor { typedef int result_type; result_type operator()(double) const { return 1; } }; int main() { const auto p1 = boost::make_function_property_map(get_prop); // compilation error const auto p2 = boost::make_function_property_map(get_prop_functor()); // OK } }}} error message (with gcc 4.8) {{{ /Users/hogehoge/language/cpp/main.cpp: In function 'int main()': /Users/hogehoge/language/cpp/main.cpp:14:71: error: no matching function for call to 'make_function_property_map(int (&)(double))' const auto p1 = boost::make_function_property_map(get_prop); // compilation error ^ /Users/hogehoge/language/cpp/main.cpp:14:71: note: candidates are: In file included from /Users/hogehoge/language/cpp/main.cpp:1:0: /Users/hogehoge/repository/GitHub/boost-develop/boost/property_map/function_property_map.hpp:54:1: note: template boost::function_property_map boost::make_function_property_map(const Func&) make_function_property_map(const Func& f) { ^ /Users/hogehoge/repository/GitHub/boost-develop/boost/property_map/function_property_map.hpp:54:1: note: template argument deduction/substitution failed: /Users/hogehoge/repository/GitHub/boost-develop/boost/property_map/function_property_map.hpp: In substitution of 'template boost::function_property_map boost::make_function_property_map(const Func&) [with Key = double; Func = int(double)]': /Users/hogehoge/language/cpp/main.cpp:14:71: required from here /Users/hogehoge/repository/GitHub/boost-develop/boost/property_map/function_property_map.hpp:54:1: error: function returning a function /Users/hogehoge/repository/GitHub/boost-develop/boost/property_map/function_property_map.hpp:60:1: note: template boost::function_property_map boost::make_function_property_map(const Func&) make_function_property_map(const Func& f) { ^ /Users/hogehoge/repository/GitHub/boost-develop/boost/property_map/function_property_map.hpp:60:1: note: template argument deduction/substitution failed: /Users/hogehoge/language/cpp/main.cpp:14:71: note: couldn't deduce template parameter 'Ret' const auto p1 = boost::make_function_property_map(get_prop); // compilation error }}} I think should remove `const &` from parameter. before: {{{ template function_property_map make_function_property_map(const Func& f) { return function_property_map(f); } template function_property_map make_function_property_map(const Func& f) { return function_property_map(f); } }}} after: {{{ template function_property_map make_function_property_map(Func f) { return function_property_map(f); } template function_property_map make_function_property_map(Func f) { return function_property_map(f); } }}}",Bugs,new,To Be Determined,property_map,Boost 1.55.0,Problem,,,