[FE 1.0] Remove CONSTRAINT_SYSTEM_FOR_OVERLOAD_RESOLUTION analysis flag
The constraint system for the old type inference is going to be removed. Also, `CONSTRAINT_SYSTEM_FOR_OVERLOAD_RESOLUTION` isn't used in the production
This commit is contained in:
committed by
teamcity
parent
8227c4b603
commit
8500ee08a8
@@ -1,5 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !CONSTRAINT_SYSTEM_FOR_OVERLOAD_RESOLUTION: CONSTRAINT_SYSTEM_FOR_NEW_INFERENCE
|
||||
|
||||
open class A<T>(val value: T)
|
||||
class B<T>(value: T) : A<T>(value)
|
||||
|
||||
-15
@@ -1,15 +0,0 @@
|
||||
// !CONSTRAINT_SYSTEM_FOR_OVERLOAD_RESOLUTION: CONSTRAINT_SYSTEM_FOR_OLD_INFERENCE
|
||||
|
||||
open class A<T>(val value: T)
|
||||
class B<T>(value: T) : A<T>(value)
|
||||
|
||||
fun <T> A<T>.foo(block: (T?) -> Unit) {
|
||||
block(value)
|
||||
}
|
||||
fun <T> B<T>.foo(block: (T) -> Unit) {
|
||||
block(value)
|
||||
}
|
||||
|
||||
fun main() {
|
||||
B("string").<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!> { }
|
||||
}
|
||||
-15
@@ -1,15 +0,0 @@
|
||||
// !CONSTRAINT_SYSTEM_FOR_OVERLOAD_RESOLUTION: CONSTRAINT_SYSTEM_FOR_OLD_INFERENCE
|
||||
|
||||
open class A<T>(val value: T)
|
||||
class B<T>(value: T) : A<T>(value)
|
||||
|
||||
fun <T> A<T>.foo(block: (T?) -> Unit) {
|
||||
block(value)
|
||||
}
|
||||
fun <T> B<T>.foo(block: (T) -> Unit) {
|
||||
block(value)
|
||||
}
|
||||
|
||||
fun main() {
|
||||
B("string").foo { }
|
||||
}
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
package
|
||||
|
||||
public fun main(): kotlin.Unit
|
||||
public fun </*0*/ T> A<T>.foo(/*0*/ block: (T?) -> kotlin.Unit): kotlin.Unit
|
||||
public fun </*0*/ T> B<T>.foo(/*0*/ block: (T) -> kotlin.Unit): kotlin.Unit
|
||||
|
||||
public open class A</*0*/ T> {
|
||||
public constructor A</*0*/ T>(/*0*/ value: T)
|
||||
public final val value: T
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final class B</*0*/ T> : A<T> {
|
||||
public constructor B</*0*/ T>(/*0*/ value: T)
|
||||
public final override /*1*/ /*fake_override*/ val value: T
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
@@ -1,5 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !CONSTRAINT_SYSTEM_FOR_OVERLOAD_RESOLUTION: CONSTRAINT_SYSTEM_FOR_NEW_INFERENCE
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
// FILE: a.kt
|
||||
|
||||
-25
@@ -1,25 +0,0 @@
|
||||
// !CONSTRAINT_SYSTEM_FOR_OVERLOAD_RESOLUTION: CONSTRAINT_SYSTEM_FOR_OLD_INFERENCE
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
// FILE: a.kt
|
||||
|
||||
package a
|
||||
|
||||
enum class A { A1 }
|
||||
|
||||
fun <T : Enum<T>> foo(arg: T.() -> Unit) = 1
|
||||
|
||||
// FILE: b.kt
|
||||
|
||||
package b
|
||||
|
||||
fun <T : Any> foo(arg: T.() -> Unit) = 2
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
import a.*
|
||||
import b.*
|
||||
|
||||
fun test() {
|
||||
<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!><A> { }
|
||||
}
|
||||
-25
@@ -1,25 +0,0 @@
|
||||
// !CONSTRAINT_SYSTEM_FOR_OVERLOAD_RESOLUTION: CONSTRAINT_SYSTEM_FOR_OLD_INFERENCE
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
// FILE: a.kt
|
||||
|
||||
package a
|
||||
|
||||
enum class A { A1 }
|
||||
|
||||
fun <T : Enum<T>> foo(arg: T.() -> Unit) = 1
|
||||
|
||||
// FILE: b.kt
|
||||
|
||||
package b
|
||||
|
||||
fun <T : Any> foo(arg: T.() -> Unit) = 2
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
import a.*
|
||||
import b.*
|
||||
|
||||
fun test() {
|
||||
foo<A> { }
|
||||
}
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
package
|
||||
|
||||
public fun test(): kotlin.Unit
|
||||
|
||||
package a {
|
||||
public fun </*0*/ T : kotlin.Enum<T>> foo(/*0*/ arg: T.() -> kotlin.Unit): kotlin.Int
|
||||
|
||||
public final enum class A : kotlin.Enum<a.A> {
|
||||
enum entry A1
|
||||
|
||||
private constructor A()
|
||||
@kotlin.internal.IntrinsicConstEvaluation public final override /*1*/ /*fake_override*/ val name: kotlin.String
|
||||
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
|
||||
protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
|
||||
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: a.A): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
protected/*protected and package*/ final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun finalize(): kotlin.Unit
|
||||
public final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun getDeclaringClass(): java.lang.Class<a.A!>!
|
||||
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
// Static members
|
||||
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): a.A
|
||||
public final /*synthesized*/ fun values(): kotlin.Array<a.A>
|
||||
}
|
||||
}
|
||||
|
||||
package b {
|
||||
public fun </*0*/ T : kotlin.Any> foo(/*0*/ arg: T.() -> kotlin.Unit): kotlin.Int
|
||||
}
|
||||
-1
@@ -1,5 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !CONSTRAINT_SYSTEM_FOR_OVERLOAD_RESOLUTION: CONSTRAINT_SYSTEM_FOR_NEW_INFERENCE
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
// FILE: a.kt
|
||||
|
||||
-23
@@ -1,23 +0,0 @@
|
||||
// !CONSTRAINT_SYSTEM_FOR_OVERLOAD_RESOLUTION: CONSTRAINT_SYSTEM_FOR_OLD_INFERENCE
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
// FILE: a.kt
|
||||
|
||||
package a
|
||||
|
||||
fun <T> foo(block: (T?) -> Unit) {}
|
||||
|
||||
// FILE: b.kt
|
||||
|
||||
package b
|
||||
|
||||
fun <K> foo(block: (K) -> Unit) {}
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
import a.*
|
||||
import b.*
|
||||
|
||||
fun main() {
|
||||
foo<String> { }
|
||||
}
|
||||
-23
@@ -1,23 +0,0 @@
|
||||
// !CONSTRAINT_SYSTEM_FOR_OVERLOAD_RESOLUTION: CONSTRAINT_SYSTEM_FOR_OLD_INFERENCE
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
// FILE: a.kt
|
||||
|
||||
package a
|
||||
|
||||
fun <T> foo(block: (T?) -> Unit) {}
|
||||
|
||||
// FILE: b.kt
|
||||
|
||||
package b
|
||||
|
||||
fun <K> foo(block: (K) -> Unit) {}
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
import a.*
|
||||
import b.*
|
||||
|
||||
fun main() {
|
||||
<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo<!><String> { }
|
||||
}
|
||||
-11
@@ -1,11 +0,0 @@
|
||||
package
|
||||
|
||||
public fun main(): kotlin.Unit
|
||||
|
||||
package a {
|
||||
public fun </*0*/ T> foo(/*0*/ block: (T?) -> kotlin.Unit): kotlin.Unit
|
||||
}
|
||||
|
||||
package b {
|
||||
public fun </*0*/ K> foo(/*0*/ block: (K) -> kotlin.Unit): kotlin.Unit
|
||||
}
|
||||
Reference in New Issue
Block a user