http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56283
--- Comment #1 from David Krauss <potswa at mac dot com> 2013-02-11 04:57:46 UTC --- Note, defining the trait with the expression declval<Fn>()(declval<ArgTypes>()...) does work. Clang 3.1/libc++ behaves the same way.