// RUN: %clang_cc1 -std=c++17 -fsyntax-only -verify %s
// expected-no-diagnostics
// Check recursive instantiation of lambda does not cause assertion.
// lambda function `f` in `fun1` is instantiated twice: first
// as f(f, Number<1>), then as f(f, Number<0>). The
// LocalInstantiationScopes of these two instantiations both contain
// `f` and `i`. However, since they are not merged, clang should not
// assert for that.
;
constexpr auto
void