http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58569
--- Comment #10 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Jonathan Wakely from comment #9) > > // template<typename CallRes> struct CheckResult<CallRes, CallRes> : > std::true_type { }; Sorry, bugzilla wrapped that line, you'll need to join those lines or comment out the std::true_type too. Uncommenting it makes it compile.