febac0dd5f
^KT-65979
29 lines
845 B
Kotlin
Vendored
29 lines
845 B
Kotlin
Vendored
/*
|
|
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
|
* that can be found in the LICENSE file.
|
|
*/
|
|
// KT-54635: Kotlin/JS cannot distinguish between Int and Double at runtime
|
|
// AssertionError: Expected <test1: 1.0>, actual <test1: 1>
|
|
// IGNORE_BACKEND: JS_IR, JS_IR_ES6
|
|
// WITH_STDLIB
|
|
|
|
import kotlin.test.*
|
|
|
|
fun box(): String {
|
|
run {
|
|
class Test1<T : Number, G>(val x: T, val y: G) {
|
|
override fun toString() = "test1: ${x.toDouble()}"
|
|
}
|
|
|
|
class Test2<X>(val a: Test1<Int, X>) {
|
|
override fun toString() = "test2"
|
|
}
|
|
|
|
val v = Test2(Test1(1, Test2(Test1(1, 3))))
|
|
assertEquals("test1: 1.0", v.a.toString())
|
|
assertEquals("1", v.a.x.toString())
|
|
assertEquals("test2", v.a.y.toString())
|
|
}
|
|
return "OK"
|
|
}
|