KT-11611 Prevent duplicate generation of default values of secondary constructor parameters

This commit is contained in:
Alexey Andreev
2016-03-26 17:43:35 +03:00
parent 7afca74b94
commit a5e0c70988
4 changed files with 33 additions and 1 deletions
@@ -0,0 +1,15 @@
var global = 0
fun sideEffect() = global++
class A(val x: String) {
constructor(y: Int = sideEffect(), z: (Int) -> Int = { it + sideEffect() }) : this("$y:${z(y)}") {}
}
fun box(): String {
var a = A()
if (a.x != "0:1") return "failed1: ${a.x}"
if (global != 2) return "failed2: ${global}"
return "OK"
}