39 lines
731 B
Kotlin
Vendored
39 lines
731 B
Kotlin
Vendored
// !LANGUAGE: -OperatorRem
|
|
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
|
|
|
object ModAndRem {
|
|
operator fun mod(x: Int) = 0
|
|
operator fun rem(x: Int) = ""
|
|
}
|
|
|
|
object ModAssignAndRemAssign {
|
|
operator fun modAssign(x: String) {}
|
|
operator fun remAssign(x: Int) {}
|
|
}
|
|
|
|
object RemAndModAssign {
|
|
operator fun modAssign(x: Int) {}
|
|
operator fun rem(x: Int) = RemAndModAssign
|
|
}
|
|
|
|
object OnlyRem {
|
|
operator fun rem(x: Int) {}
|
|
operator fun remAssign(x: Int) {}
|
|
}
|
|
|
|
fun test() {
|
|
<!INAPPLICABLE_CANDIDATE!>takeInt<!>(ModAndRem % 1)
|
|
|
|
val c = ModAssignAndRemAssign
|
|
<!INAPPLICABLE_CANDIDATE!>c %= ""<!>
|
|
|
|
var c1 = RemAndModAssign
|
|
c1 %= 1
|
|
|
|
OnlyRem % 1
|
|
|
|
val c2 = OnlyRem
|
|
c2 %= 1
|
|
}
|
|
|
|
fun takeInt(x: Int) {} |