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