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.