https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80873
--- Comment #1 from Morris Hafner <hafnermorris at gmail dot com> --- I managed to create an example that is a valid program: struct Buffer {}; auto parse(Buffer b); template <typename T> void parse(T target); template <typename T> auto field(T target) { return [&] { parse(target); }; } template <typename T> void parse(T target) {} auto parse(Buffer b) { field(0); } int main() { }