https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70810

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
The compiler doesn't have to deduce the parameter pack Ts... in that example,
because it is provided explicitly here:

Invoker<std::string, int> invoker;

and so the compiler knows the exact type of std::function<void(Ts...)> here:

    invoker.invoke(foo, "a", 1); // ok

without needing to deduce anything.

If Visual Studio compiles it then that seems like a bug in VC++ to me.

Reply via email to