// !DIAGNOSTICS_NUMBER: 3 // !DIAGNOSTICS: TYPE_INFERENCE_UPPER_BOUND_VIOLATED // !MESSAGE_TYPE: TEXT // !LANGUAGE: -NewInference package i fun > foo(r: R, list: T) {} fun test1(i: Int, collection: Collection) { foo(i, collection) //error } //-------------- fun bar(v: V, u: MutableSet) = u fun test2(a: Any, s: MutableSet) { bar(a, s) //error } //-------------- interface A class B fun baz(t: T, r: R) where T: A { } fun test3(a: A, b: B) { baz(a, b) //error }