https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78361
Bug ID: 78361 Summary: [7 regression][c++1z] std::__is_referenceable doesn't handle noexcept function types Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: lucdanton at free dot fr Target Milestone: --- Created attachment 40042 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40042&action=edit untested patch Currently on trunk __is_referenceable doesn't seem to handle noexcept function types. This then carries over to e.g. std::add_pointer and then in turn to std::decay_t, ultimately causing regressions for code like std::make_tuple(std::free). It might be instructive to grep for 6 dots (e.g. '\.\{6\}') to try and catch all those partial specializations that handle function types, and update them. If I ape what is_function does that fixes the regression on my end, but other than that I have not run the tests and in any case I don't know if it's the right fix. It's attached as a patch.