Files
kotlin-fork/compiler/testData/codegen/box/operatorConventions/remAssignmentOperation.kt
T
Nikolay Lunyak e2403c801f [FIR] KT-55747: Report error for operator fun mod
^KT-55747 Fixed

Merge-request: KT-MR-8522
Merged-by: Nikolay Lunyak <Nikolay.Lunyak@jetbrains.com>
2023-01-30 08:48:33 +00:00

20 lines
446 B
Kotlin
Vendored

// !LANGUAGE: -ProhibitOperatorMod
class A() {
var x = 5
}
@Suppress("DEPRECATED_BINARY_MOD")
operator fun A.modAssign(y: Int) { throw RuntimeException("mod has been called instead of rem") }
operator fun A.remAssign(y: Int) { x %= y + 1 }
fun box(): String {
val original = A()
val a = original
a %= 2
if (a !== original) return "Fail 1: $a !== $original"
if (a.x != 2) return "Fail 2: ${a.x} != 2"
return "OK"
}