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

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Kotlin, 241.16690-IJ

Last modified: 29 April 2024