removing static type assertions work in progress
This commit is contained in:
+5
-3
@@ -11,10 +11,12 @@ class Z : B() {
|
||||
|
||||
fun box(): String {
|
||||
val z = Z()
|
||||
val b: B = z
|
||||
val a: A<String> = z
|
||||
return when {
|
||||
z.foo("") != "Z" -> "Fail #1"
|
||||
(z : B).foo("") != "Z" -> "Fail #2"
|
||||
(z : A<String>).foo("") != "Z" -> "Fail #3"
|
||||
z.foo("") != "Z" -> "Fail #1"
|
||||
b.foo("") != "Z" -> "Fail #2"
|
||||
a.foo("") != "Z" -> "Fail #3"
|
||||
else -> "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+5
-3
@@ -10,10 +10,12 @@ class Z : B() {
|
||||
|
||||
fun box(): String {
|
||||
val z = Z()
|
||||
val b: B = z
|
||||
val a: A<Int, Number> = z
|
||||
return when {
|
||||
z.foo(0, 0) != "Z" -> "Fail #1"
|
||||
(z : B).foo(0, 0) != "Z" -> "Fail #2"
|
||||
(z : A<Int, Number>).foo(0, 0) != "Z" -> "Fail #3"
|
||||
z.foo(0, 0) != "Z" -> "Fail #1"
|
||||
b.foo(0, 0) != "Z" -> "Fail #2"
|
||||
a.foo(0, 0) != "Z" -> "Fail #3"
|
||||
else -> "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -13,5 +13,6 @@ class D : A<String> by C()
|
||||
fun box(): String {
|
||||
val d = D()
|
||||
if (d.id("") != "") return "Fail"
|
||||
return (d : A<String>).id("OK")
|
||||
val a: A<String> = d
|
||||
return a.id("OK")
|
||||
}
|
||||
|
||||
@@ -12,13 +12,17 @@ enum class Z(val name: String) : B {
|
||||
|
||||
|
||||
fun box(): String {
|
||||
val z1b: B = Z.Z1
|
||||
val z2b: B = Z.Z2
|
||||
val z1a: A<String> = Z.Z1
|
||||
val z2a: A<String> = Z.Z2
|
||||
return when {
|
||||
Z.Z1.foo("") != "Z1" -> "Fail #1"
|
||||
Z.Z2.foo("") != "Z2" -> "Fail #2"
|
||||
(Z.Z1 : B).foo("") != "Z1" -> "Fail #3"
|
||||
(Z.Z2 : B).foo("") != "Z2" -> "Fail #4"
|
||||
(Z.Z1 : A<String>).foo("") != "Z1" -> "Fail #5"
|
||||
(Z.Z2 : A<String>).foo("") != "Z2" -> "Fail #6"
|
||||
Z.Z1.foo("") != "Z1" -> "Fail #1"
|
||||
Z.Z2.foo("") != "Z2" -> "Fail #2"
|
||||
z1b.foo("") != "Z1" -> "Fail #3"
|
||||
z2b.foo("") != "Z2" -> "Fail #4"
|
||||
z1a.foo("") != "Z1" -> "Fail #5"
|
||||
z2a.foo("") != "Z2" -> "Fail #6"
|
||||
else -> "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+5
-3
@@ -11,10 +11,12 @@ class Z : B() {
|
||||
|
||||
fun box(): String {
|
||||
val z = Z()
|
||||
val b: B = z
|
||||
val a: A<String> = z
|
||||
return when {
|
||||
z.foo("", 0) != "Z" -> "Fail #1"
|
||||
(z : B).foo("", 0) != "Z" -> "Fail #2"
|
||||
(z : A<String>).foo("", 0) != "Z" -> "Fail #3"
|
||||
z.foo("", 0) != "Z" -> "Fail #1"
|
||||
b.foo("", 0) != "Z" -> "Fail #2"
|
||||
a.foo("", 0) != "Z" -> "Fail #3"
|
||||
else -> "OK"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,13 +13,18 @@ fun box(): String {
|
||||
val o = object : B() {
|
||||
override fun foo(t: String) = "o"
|
||||
}
|
||||
val zb: B = Z
|
||||
val ob: B = o
|
||||
val za: A<String> = Z
|
||||
val oa: A<String> = o
|
||||
|
||||
return when {
|
||||
Z.foo("") != "Z" -> "Fail #1"
|
||||
o.foo("") != "o" -> "Fail #2"
|
||||
(Z : B).foo("") != "Z" -> "Fail #3"
|
||||
(o : B).foo("") != "o" -> "Fail #4"
|
||||
(Z : A<String>).foo("") != "Z" -> "Fail #5"
|
||||
(o : A<String>).foo("") != "o" -> "Fail #6"
|
||||
Z.foo("") != "Z" -> "Fail #1"
|
||||
o.foo("") != "o" -> "Fail #2"
|
||||
zb.foo("") != "Z" -> "Fail #3"
|
||||
ob.foo("") != "o" -> "Fail #4"
|
||||
za.foo("") != "Z" -> "Fail #5"
|
||||
oa.foo("") != "o" -> "Fail #6"
|
||||
else -> "OK"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,4 +9,7 @@ class Z : B() {
|
||||
}
|
||||
|
||||
|
||||
fun box() = (Z() : A<String>).foo
|
||||
fun box(): String {
|
||||
val a: A<String> = Z()
|
||||
return a.foo
|
||||
}
|
||||
|
||||
@@ -11,10 +11,12 @@ class Z : B() {
|
||||
|
||||
fun box(): String {
|
||||
val z = Z()
|
||||
val b: B = z
|
||||
val a: A<String> = z
|
||||
return when {
|
||||
z.foo("") != "Z" -> "Fail #1"
|
||||
(z : B).foo("") != "Z" -> "Fail #2"
|
||||
(z : A<String>).foo("") != "Z" -> "Fail #3"
|
||||
z.foo("") != "Z" -> "Fail #1"
|
||||
b.foo("") != "Z" -> "Fail #2"
|
||||
a.foo("") != "Z" -> "Fail #3"
|
||||
else -> "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+5
-3
@@ -11,10 +11,12 @@ class Z : B() {
|
||||
|
||||
fun box(): String {
|
||||
val z = Z()
|
||||
val b: B = z
|
||||
val a: A<Int> = z
|
||||
return when {
|
||||
z.foo(0) != "Z" -> "Fail #1"
|
||||
(z : B).foo(0) != "Z" -> "Fail #2"
|
||||
(z : A<Int>).foo(0) != "Z" -> "Fail #3"
|
||||
z.foo(0) != "Z" -> "Fail #1"
|
||||
b.foo(0) != "Z" -> "Fail #2"
|
||||
a.foo(0) != "Z" -> "Fail #3"
|
||||
else -> "OK"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user