================
@@ -14,4 +15,13 @@ auto r2 = l2();
 auto r3 = l2();
 // CHECK: TWO
 
-%quit
+// Verify non-local lambda capture error is correctly reported
+int x = 42;
+
+// expected-error {{non-local lambda expression cannot have a capture-default}}
+auto capture = [&]() { return x * 2; };
+
----------------
anutosh491 wrote:

Sorry, I think I might have missed this. 

If I remember correctly, the above is an expected error 
```
clang-repl> int x = 42; auto capture = [&]() { return x * 2; };
In file included from <<< inputs >>>:1:
input_line_1:1:28: error: non-local lambda expression cannot have a 
capture-default
    1 | int x = 42; auto capture = [&]() { return x * 2; };
      |                            ^
error: Parsing failed.
```
So we wouldn't have to check for the value to be 84 here !

https://github.com/llvm/llvm-project/pull/127467
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to