"contains" now requires to be marked as operator + no heuristic signature for contains needed anymore

This commit is contained in:
Valentin Kipyatkov
2016-01-23 00:57:42 +03:00
parent 1b9c6e0ea2
commit c2065c1856
7 changed files with 17 additions and 23 deletions
@@ -2,7 +2,8 @@ interface X
interface Y : X
interface Z
fun X.contains(s: String): Boolean
operator fun X.contains(s: String): Boolean = true
fun Z.contains(s: String): Boolean = true
fun foo(s: String, x: X, y: Y, z: Z) {
if (s in <caret>)
@@ -1,13 +1,13 @@
interface X {
fun contains(s: String): Boolean
operator fun contains(s: String): Boolean
}
interface Y {
fun contains(i: Int): Boolean
operator fun contains(i: Int): Boolean
}
interface Z {
fun contains(o: Any): Boolean
operator fun contains(o: Any): Boolean
}
fun foo(s: String, x: X, y: Y, z: Z) {
@@ -1,5 +1,5 @@
interface X<T> {
fun contains(t: T): Boolean
operator fun contains(t: T): Boolean
}
interface A {
@@ -1,6 +1,6 @@
interface X<T>
fun<T> X<T>.contains(t: T): Boolean
operator fun<T> X<T>.contains(t: T): Boolean = true
interface A {
fun<T> createX(t: T): X<T>
@@ -1,5 +1,5 @@
interface X {
fun contains(s: String): Boolean?
operator fun contains(s: String): Boolean?
}
fun foo(s: String, x: X) {