http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52683
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-03-23 12:43:15 UTC --- (In reply to comment #0) > Assignment operator not detected via declval<>() for POD types. W::operator= is an overloaded function, operator=(const W&) and operator=(W&&) decltype cannot work, because an overload set is not a type