diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedReceiverParameterInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedReceiverParameterInspection.kt index 184e9d16d30..0024951fd32 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedReceiverParameterInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedReceiverParameterInspection.kt @@ -76,7 +76,7 @@ class UnusedReceiverParameterInspection : AbstractKotlinInspection() { val receiverTypeDeclaration = receiverType.constructor.declarationDescriptor if (DescriptorUtils.isCompanionObject(receiverTypeDeclaration)) return - val callable = callableDeclaration.descriptor ?: return + val callable = context[BindingContext.DECLARATION_TO_DESCRIPTOR, callableDeclaration] ?: return if (callableDeclaration.isMainFunction(callable)) return diff --git a/idea/testData/inspections/unusedReceiverParameter/kt26481.kt b/idea/testData/inspections/unusedReceiverParameter/kt26481.kt new file mode 100644 index 00000000000..d85ca779d92 --- /dev/null +++ b/idea/testData/inspections/unusedReceiverParameter/kt26481.kt @@ -0,0 +1,20 @@ +class My(val x: Int) +class Your(val x: Int) + +fun Your.foo(): Int { + println(x) + fun My.bar(): Int { + return x + } + return My(0).bar() + x +} + +fun bar() { + fun String.foo() = this.length + "".foo() +} + +fun baz() { + fun String.foo() = length + "".foo() +} \ No newline at end of file