// !DIAGNOSTICS: -UNUSED_VARIABLE interface Foo interface Foo1<in out T> interface Foo2in T> fun test1(foo: Foo<in out Int>) = foo fun test2(): Fooin Int> = throw Exception() fun test3() { val f: Fooout out out Int> class Bzzin T> } class A { fun <out out T> bar() { } } fun test4(a: A) { a.bar<out out Int>() }