https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31164
--- Comment #12 from Jonathan Wakely <redi at gcc dot gnu.org> --- Boost bug tracking moved to https://svn.boost.org/trac10/report and then to github. Boost.Signals was replaced by Boost.Signals2 years ago though. Clang gives the same result as GCC. EDG does for C++11 and later, but behaves as the OP wants for --c++98 mode, suggesting there was a core DR related to this. Maybe something about the lookup and point of instantiation. Anyway, the Boost change that fixed it seems to be: https://github.com/boostorg/bind/commit/a87638486bda4bac1234753ef5930725eb3c31b4