Created attachment 20066 [details] Crash log Here's a minimal example that I came up with // clang++ -std=c++17 -Wbinding-in-condition -o main main.cpp #include <tuple> struct X { template<int I> int get() { return 0; } operator bool() { return true; } }; namespace std { template<> struct tuple_size<X> { static constexpr std::size_t value = 1; }; template<> struct tuple_element<0, X> { using type = int; }; } int main() { if (auto[a] = X()) return a; } The above crashes with the attached log.