Disallowed using type parameter as reified type argument.

#KT-3050 fixed
This commit is contained in:
Evgeny Gerashchenko
2013-09-26 03:12:14 +04:00
parent 2c877f080e
commit 48625dd7b6
15 changed files with 147 additions and 10 deletions
@@ -0,0 +1,16 @@
fun <reified T> f(): T = throw UnsupportedOperationException()
fun <T> id(p: T): T = p
fun <A> main() {
<!TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>f<!>()
val <!UNUSED_VARIABLE!>a<!>: A = <!TYPE_PARAMETER_AS_REIFIED!>f<!>()
<!TYPE_PARAMETER_AS_REIFIED!>f<!><A>()
val <!UNUSED_VARIABLE!>b<!>: Int = f()
f<Int>()
// TODO svtk, uncomment when extensions are called for nested calls!
//val < !UNUSED_VARIABLE!>с< !>: A = id(< !TYPE_PARAMETER_AS_REIFIED!>f< !>())
}