FIR: revert a hack that allows overriding T!! with T

1. this should've been only done if the language feature for validating
    that is disabled;

 2. that feature probably won't matter by the time FIR is stable;

 3. it only worked because type enhancement of type arguments is broken
    anyway - a more correct hack would be to provide a custom
    ConeTypePreparator.
This commit is contained in:
pyos
2021-08-02 12:20:40 +02:00
committed by teamcityserver
parent c85329905c
commit 5fec9f34b1
8 changed files with 42 additions and 37 deletions
+4 -4
View File
@@ -16,8 +16,8 @@ public abstract class A<T, V> {
class Inv<T>
open class B<V> : A<Any, V>() {
override fun take(value: V): String {
open <!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class B<!><V> : A<Any, V>() {
<!NOTHING_TO_OVERRIDE!>override<!> fun take(value: V): String {
return ""
}
@@ -25,7 +25,7 @@ open class B<V> : A<Any, V>() {
}
fun test_1(b: B<Int>, x: Int, inv: Inv<Int>) {
b.take(x)
b.take(<!NULL_FOR_NONNULL_TYPE!>null<!>)
b.<!OVERLOAD_RESOLUTION_AMBIGUITY!>take<!>(x)
b.<!NONE_APPLICABLE!>take<!>(null)
b.takeInv(inv)
}