Merge pull request #8260 from eed3si9n/wip/remove

[2.x] fix: Fixes removeN operator --=
This commit is contained in:
eugene yokota 2025-09-03 23:27:13 -04:00 committed by GitHub
commit 92fdc29de6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 20 additions and 7 deletions

View File

@ -184,14 +184,14 @@ sealed abstract class TaskKey[A1]
inline def <++=[A2](vs: Initialize[Task[A2]]): Setting[Task[A1]] =
${ TaskMacro.fakeAppendNImpl }
final inline def -=[A2](v: A2)(using Remove.Value[A1, A2]): Setting[Task[A1]] =
final inline def -=[A2](inline v: A2)(using Remove.Value[A1, A2]): Setting[Task[A1]] =
remove1[A2](taskMacro[A2](v))
final inline def remove1[A2](v: Initialize[Task[A2]])(using
ev: Remove.Value[A1, A2]
): Setting[Task[A1]] = make(v)(ev.removeValue)
final inline def --=[A2](vs: A2)(using r: Remove.Values[A1, A2]): Setting[Task[A1]] =
final inline def --=[A2](inline vs: A2)(using r: Remove.Values[A1, A2]): Setting[Task[A1]] =
removeN[A2](taskMacro[A2](vs))
final inline def removeN[A2](vs: Initialize[Task[A2]])(using

View File

@ -4,25 +4,36 @@ val intsFromScalaV = settingKey[Seq[Int]]("a seq of ints from scalaVersion")
val intsSetSetting = settingKey[Set[Int]]("A set of ints setting")
val stringIntMapSetting = settingKey[Map[String, Int]]("A map of string to int setting")
scalaVersion := "2.11.6"
lazy val intSetting2 = Def.setting {
3
}
lazy val intsSetting2 = Def.setting {
Seq(1, 2, 3)
}
scalaVersion := "3.7.2"
intsTask := Seq(1, 2, 3, 4, 5, 6, 7)
intsTask -= 3
intsTask --= Seq(1, 2)
intsTask -= Option(6)
intsTask --= Option(7)
intsTask -= intSetting2.value
intsTask --= intsSetting2.value
intsSetting := Seq(1, 2, 3, 4, 5, 6, 7)
intsSetting -= 3
intsSetting --= Seq(1, 2)
intsSetting -= Option(6)
intsSetting --= Option(7)
intsSetting -= intSetting2.value
intsSetting --= intsSetting2.value
intsFromScalaV := Seq(1, 2, 3, 4, 5, 6, 7)
intsFromScalaV -= { if (scalaVersion.value == "2.11.6") 3 else 5 }
intsFromScalaV --= { if (scalaVersion.value == "2.11.6") Seq(1, 2) else Seq(4) }
intsFromScalaV -= { if (scalaVersion.value == "2.11.6") Option(6) else None }
intsFromScalaV --= { if (scalaVersion.value == "2.11.6") Option(7) else None }
intsFromScalaV -= { if scalaVersion.value == "3.7.2" then 3 else 5 }
intsFromScalaV --= { if scalaVersion.value == "3.7.2" then Seq(1, 2) else Seq(4) }
intsFromScalaV -= { if scalaVersion.value == "3.7.2" then Option(6) else None }
intsFromScalaV --= { if scalaVersion.value == "3.7.2" then Option(7) else None }
intsSetSetting := Set(1, 2, 3, 4, 5, 6, 7)
intsSetSetting -= 3
@ -32,7 +43,9 @@ stringIntMapSetting := Map("a" -> 1, "b" -> 2 , "c" -> 3, "d" -> 4, "e" -> 5)
stringIntMapSetting -= "c"
stringIntMapSetting --= Seq("a", "b")
@transient
val check = taskKey[Unit]("Runs the check")
check := {
assert(intsTask.value == Seq(4, 5), s"intsTask should be Seq(4, 5) but is ${intsTask.value}")
assert(intsSetting.value == Seq(4, 5), s"intsSetting should be Seq(4, 5) but is ${intsSetting.value}")