// !DIAGNOSTICS: -UNUSED_VARIABLE package test object ClassMemberMarker class a { fun foo() = ClassMemberMarker } class b { fun foo() = ClassMemberMarker } fun Int.foo() {} class Test { val List.a: Int get() = size val List.b: Int? get() = size fun List.testCallable1(): () -> Unit = a::foo fun List.testCallable1a(): () -> Unit = a::foo fun List.testCallable2(): () -> Unit = b?::foo fun List.testCallable3(): () -> Unit = b::foo fun List.testCallable4(): () -> Unit = b?::foo fun List.testClassLiteral1() = a::class fun List.testClassLiteral1a() = a::class fun List.testClassLiteral2() = b?::class fun List.testClassLiteral3() = b::class fun List.testUnresolved1() = unresolved::foo fun List.testUnresolved2() = a<unresolved>::foo fun List.testUnresolved3() = a<>::foo fun List.testUnresolved4() = unresolved?::foo }