https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82343
Mark <p1006680 at mvrht dot net> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #42244|0 |1 is obsolete| | --- Comment #1 from Mark <p1006680 at mvrht dot net> --- Created attachment 42251 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42251&action=edit (simplified) Preprocessed source code, generated by adding -save-temps I managed to narrow down the problem (see attachment). I was wrong about the function template recurrency. Problem is associated with the parameter pack of size 0 or 1 in SFINAE test. Confirmed with gcc: 8.0.0, 7.2.0, 7.1.0, 6.3.0, 6.2.0, 6.1.0, 5.4.0, 5.3.0, 5.2.0, 5.1.0, 4.9.3, 4.9.2, 4.9.1, 4.9.0, 4.8.5, 4.8.4, 4.8.3, 4.8.2, 4.8.1. Below version 4.8.1 (4.7.4 and below) everything is okay.