Prohibit assigning single elements into varargs in named form

#KT-20588 Fixed
 #KT-20589 Fixed
This commit is contained in:
Mikhail Zarechenskiy
2018-07-05 23:32:07 +03:00
parent 959c2f4843
commit c032a02373
14 changed files with 138 additions and 12 deletions
@@ -0,0 +1,20 @@
// !LANGUAGE: +ProhibitAssigningSingleElementsToVarargsInNamedForm
// !DIAGNOSTICS: -UNUSED_PARAMETER
annotation class Anno1(vararg val s: String)
annotation class Anno2(vararg val i: Int)
@Anno1(s = <!ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_ANNOTATION_ERROR!>"foo"<!>)
@Anno2(i = *<!ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_ANNOTATION!>intArrayOf(1)<!>)
fun f1() {}
@Anno1(s = ["foo"])
@Anno2(i = intArrayOf(1))
fun f2() {}
fun foo(vararg ints: Int) {}
fun test() {
foo(ints = <!ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_FUNCTION_ERROR!>1<!>)
foo(ints = *intArrayOf(1))
}