Inspectopedia Help

Ambiguous logical expressions in 'when' branches since 1.7

Reports ambiguous logical expressions in when branches which cause compilation errors in Kotlin 1.8 and later.

fun Int.matches(strict: Boolean): Boolean = when (strict) { true -> this == 6 this in (4..7) -> true // is ambiguous else -> false }

After the quick-fix is applied:

fun Int.matches(strict: Boolean): Boolean = when (strict) { true -> this == 6 (this in (4..7)) -> true // wrapped in parentheses else -> false }

Inspection is available for Kotlin language level starting from 1.7.

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Kotlin, @snapshot@

Last modified: 13 July 2023