http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52363
--- Comment #5 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-04-18 13:29:10 UTC --- Oh, and isn't really a run-time issue: #include <type_traits> struct proxy { void operator=(int const&); void operator=(int &&) const; }; static_assert( std::is_assignable<proxy, int>::value, "" );