Leaking this: fix for 'this' in enum class #KT-15835 Fixed
This commit is contained in:
committed by
Mikhail Glukhikh
parent
14311e77c2
commit
2a03e1b3da
@@ -0,0 +1,20 @@
|
||||
// PROBLEM: Leaking 'this' in constructor of enum class Foo (with overridable members)
|
||||
// FIX: none
|
||||
enum class Foo {
|
||||
ONE {
|
||||
override val x = 1
|
||||
},
|
||||
TWO {
|
||||
override val x = 2
|
||||
};
|
||||
|
||||
abstract val x: Int
|
||||
val double = double(<caret>this)
|
||||
}
|
||||
|
||||
fun double(foo: Foo) = foo.x * foo.x
|
||||
|
||||
fun test() {
|
||||
Foo.ONE.double
|
||||
Foo.TWO.double
|
||||
}
|
||||
Reference in New Issue
Block a user