https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117825
--- Comment #1 from Marcus Hähnel <marcus.haehnel at kernkonzept dot com> --- Another note: Having the return type of the wrap template not using decltype (and hard-coding it to int) will make this work and not have an ICE. So this seems to trigger when all of this is met: * A template takes a function as value parameter with auto type * Deduces the return type using decltype in the trailing return type * The function that is wrapped has the format warning attribute