// !DIAGNOSTICS: -UNUSED_VARIABLE package test object Wrong object Right class a { class b { class c { fun foo() = Wrong } } } fun Int.foo() = Right class Test { val a: List = null!! val List.b: Int get() = 42 val Int.c: Int get() = 42 val test1: () -> Right = a.b.c::foo val test1a: () -> Right = a.b<Int>.c::foo val test2: () -> Right = a.b.c?::foo val test2a: () -> Right = a.b<Int>.c?::foo }