Back to Intellij Community

AmbiguousExpressionInWhenBranchMigration

plugins/kotlin/code-insight/descriptions/resources-en/inspectionDescriptions/AmbiguousExpressionInWhenBranchMigration.html

2025.3-rc-2551 B
Original Source

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.