// !DIAGNOSTICS: -UNUSED_PARAMETER -CAST_NEVER_SUCCEEDS -UNUSED_VARIABLE class Foo class P(x: K, y: T) val Foo.bar: Foo get() = this fun Foo.bar(x: String) = null as Foo fun main() { val x: P.() -> Foo> = P("", Foo::bar) }