Recapture shared variables when calling local class constructor
When a local function or class A creates an instance of a local class B capturing an outer variable 'x', it should use ref for 'x', but not the value of 'x'.
This commit is contained in:
+12
@@ -0,0 +1,12 @@
|
||||
fun box(): String {
|
||||
var x = ""
|
||||
|
||||
class CapturesX {
|
||||
override fun toString() = x
|
||||
}
|
||||
|
||||
fun localFun() = CapturesX()
|
||||
|
||||
x = "OK"
|
||||
return localFun().toString()
|
||||
}
|
||||
Reference in New Issue
Block a user