http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56976
--- Comment #2 from Akim Demaille <akim.demaille at gmail dot com> --- Maybe I don't know, even after having read several times the section you pointed me to. In particular I see nothing there which could explain why using foo() instead of foo{} would give different results. FWIW, other people fell on this issue, and I didn't see any clear cut answer. http://stackoverflow.com/questions/12450258/how-generic-is-the-construction-syntax?lq=1