================
@@ -8,3 +8,28 @@ template <int Unroll> void foo() {
   #pragma GCC unroll Unroll
   for (int i = 0; i < Unroll; ++i);
 }
+
+struct val {
+  constexpr operator int() const { return 1; }
+};
+
+// generic lambda (using double template instantiation)
+
+template<typename T>
+void use(T t) {
+  auto lam = [](auto N) {
----------------
erichkeane wrote:

*sigh*  This lambda is actually a really bad example here, since the standard 
doesnt' allow us to do ANY instantiation here until it is non dependent.  ONE 
day we will fix that, but we should come up with an additional test here where 
this is problematic (perhaps partial specializations?  or template member 
function in a class tempalte?).

https://github.com/llvm/llvm-project/pull/172289
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to