报告使用 plus/minus 以运算符形式(a + ba - b)或常规调用形式(a.plus(b)a.minus(b))将 java.nio.file.Path 添加到/从 Kotlin 集合或序列中移除的调用。

由于 java.nio.file.Path 实现了 Iterable<Path>,此类调用解析为 plusminus 函数的意外重载,这两个函数接受元素的集合(这种情况下为 Path 的单个元素)。 但是,代码的意图可能是添加或移除 Path 本身,而非单个元素。

示例:


// 运算符形式
val paths = listOf(path) + somePath
val paths2 = setOf(path) - somePath

// 常规调用形式
val paths = listOf(path).plus(somePath)
val paths2 = setOf(path).minus(somePath)

快速修复: