http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57794
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |RESOLVED Resolution|--- |INVALID --- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- It's not valid code, [] introduces a lambda expression, not a function type, but a lambda expression must have a body. Maybe you mean: using to_lower_fn_ptr = auto (input_base_type, const std::locale&) -> input_base_type; which compiles fine.