https://github.com/facebook/folly
Created attachment 22126 [details] crash-cases.tar.xz
Yeah, I added a comment about this to https://reviews.llvm.org/rC363086. Reduced test case (which asserts with 8.0.0 and 8.0.1, but not trunk after r363086): // clang -cc1 -triple x86_64-- -S -std=c++17 RecordIO-min.cpp // Assertion failed: (!Init->isValueDependent()), function checkInitIsICE, // file tools/clang/lib/AST/Decl.cpp, line 2342. template <int> struct a; template <class b, class> struct c { static constexpr int f = b ::d; c(a<f>); }; template <class e, class g = int> c(e)->c<e, g>; The question is whether it is feasible to backport the whole of r363086, which is fairly disruptive, or if there is another, smaller fix.