mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
8043179: Lambda expression can mutate final field
Reviewed-by: vromero
This commit is contained in:
parent
147f3473d4
commit
c00d0885ae
5 changed files with 35 additions and 0 deletions
|
@ -0,0 +1,13 @@
|
|||
/*
|
||||
* @test /nodynamiccopyright/
|
||||
* @summary Verify lambda expression can't mutate a final field
|
||||
* @bug 8043179
|
||||
* @compile/fail/ref=LambdaMutateFinalField.out -XDrawDiagnostics LambdaMutateFinalField.java
|
||||
*/
|
||||
class LambdaMutateFinalField {
|
||||
final String x;
|
||||
LambdaMutateFinalField() {
|
||||
Runnable r1 = () -> x = "not ok";
|
||||
this.x = "ok";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
LambdaMutateFinalField.java:10:29: compiler.err.var.might.already.be.assigned: x
|
||||
1 error
|
|
@ -0,0 +1,13 @@
|
|||
/*
|
||||
* @test /nodynamiccopyright/
|
||||
* @summary Verify lambda expression can't mutate a final variable
|
||||
* @bug 8043179
|
||||
* @compile/fail/ref=LambdaMutateFinalVar.out -XDrawDiagnostics LambdaMutateFinalVar.java
|
||||
*/
|
||||
class LambdaMutateFinalVar {
|
||||
LambdaMutateFinalVar() {
|
||||
final String x;
|
||||
Runnable r1 = () -> x = "not ok";
|
||||
x = "ok";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
LambdaMutateFinalVar.java:10:29: compiler.err.var.might.already.be.assigned: x
|
||||
1 error
|
Loading…
Add table
Add a link
Reference in a new issue