fun <T> foo(t: T, l: MutableList<T>) {}

fun use(vararg a: Any?) = a

fun test(ls: MutableList<String>) {
    use(<caret>foo(11, ls))
}


Resolved call:

Candidate descriptor: fun <T> foo(t: T, l: MutableList<T>): Unit defined in root package
Resulting descriptor: fun <T> foo(t: String, l: MutableList<String>): Unit defined in root package

Explicit receiver kind = NO_EXPLICIT_RECEIVER
Dispatch receiver = NO_RECEIVER
Extension receiver = NO_RECEIVER

Value arguments mapping:

SUCCESS  t : String = 11
TYPE_MISMATCH  l : MutableList<String> = ls
