// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -TOPLEVEL_TYPEALIASES_ONLY // !CHECK_TYPE open class Outer { inner class Inner typealias Alias = Map } class Derived : Outer() { fun foo(): Inner = null!! fun baz(): Alias = null!! } class A : Outer() { class B : Outer() { fun bar(): Inner = null!! fun x(): Alias = null!! } } fun foo() { Derived().foo() checkType { _.Inner>() } Derived().baz() checkType { _>() } A.B().bar() checkType { _.Inner>() } A.B().x() checkType { _>() } }