| // FILE: 1.kt | |
| package test | |
| inline fun <T> doSmth(a: T) : Boolean { | |
| return a === a | |
| } | |
| // FILE: 2.kt | |
| import test.* | |
| fun test1(s: Long): Boolean { | |
| return doSmth(s) | |
| } | |
| fun test2(s: Int): Boolean { | |
| return doSmth(s) | |
| } | |
| inline fun <T> test3(s: T): Boolean { | |
| return doSmth(s) | |
| } | |
| fun box(): String { | |
| if (!test1(11111.toLong())) return "fail 1" | |
| if (!test2(11111)) return "fail 2" | |
| if (!test3(11111)) return "fail 3.1" | |
| if (!test3("11111")) return "fail 3.2" | |
| if (!test3(11111.3)) return "fail 3.3" | |
| return "OK" | |
| } |