{"action":"closed","issue":{"url":"https://api.github.com/repos/boostorg/python/issues/39","labels_url":"https://api.github.com/repos/boostorg/python/issues/39/labels{/name}","comments_url":"https://api.github.com/repos/boostorg/python/issues/39/comments","events_url":"https://api.github.com/repos/boostorg/python/issues/39/events","html_url":"https://github.com/boostorg/python/issues/39","id":104461999,"number":39,"title":"boost::python::make_setter(&X::y) no longer compiles","user":{"login":"jwakely","id":1254480,"avatar_url":"https://avatars.githubusercontent.com/u/1254480?v=3","gravatar_id":"","url":"https://api.github.com/users/jwakely","html_url":"https://github.com/jwakely","followers_url":"https://api.github.com/users/jwakely/followers","following_url":"https://api.github.com/users/jwakely/following{/other_user}","gists_url":"https://api.github.com/users/jwakely/gists{/gist_id}","starred_url":"https://api.github.com/users/jwakely/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jwakely/subscriptions","organizations_url":"https://api.github.com/users/jwakely/orgs","repos_url":"https://api.github.com/users/jwakely/repos","events_url":"https://api.github.com/users/jwakely/events{/privacy}","received_events_url":"https://api.github.com/users/jwakely/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-09-02T11:42:57Z","updated_at":"2015-09-02T12:07:49Z","closed_at":"2015-09-02T12:07:49Z","body":"This trivial example, similar to the examples in the Boost.Python documentation, compiled with 1.58 but doesn't with 1.59 (using various versions of GCC and Clang):\r\n\r\n    #include <boost/python.hpp>\r\n\r\n    struct X { int y; };\r\n\r\n    int main()\r\n    {\r\n      boost::python::make_setter(&X::y);\r\n    }\r\n\r\n\r\nThe relevant error is:\r\n\r\n`/usr/local/boost-1.59.0/include/boost/python/data_members.hpp:303:15: note: candidate: boost::python::api::object boost::python::make_setter(D&) [with D = int X::*] <near match>`\r\n<pre>    inline object make_setter(D& x)\r\n                  ^</pre>\r\n`/usr/local/boost-1.59.0/include/boost/python/data_members.hpp:303:15: note:   conversion of argument 1 would be ill-formed:`<BR>\r\n`prog.cc:7:37: error: invalid initialization of non-const reference of type 'int X::*&' from an rvalue of type 'int X::*'`\r\n<pre>     boost::python::make_setter(&X::y);\r\n                                     ^</pre>\r\n"}}