IWScalaModule: only add -Xkind-projector for Scala versions that support it #1

Open
opened 2026-02-18 18:11:19 +00:00 by mprihoda · 0 comments
mprihoda commented 2026-02-18 18:11:19 +00:00 (Migrated from github.com)

Problem

IWScalaModule unconditionally adds the -Xkind-projector compiler flag. This flag is only available in newer Scala 3 versions (3.5+). When using Scala 3.3.x LTS (scala3LTSVersion), the compiler emits:

[warn] bad option '-Xkind-projector' was ignored

This warning pollutes build output and would trigger CI warning checks.

Suggested Fix

Conditionally add -Xkind-projector only when the Scala version supports it (>= 3.5). Something like:

override def scalacOptions = T {
  val base = super.scalacOptions()
  if (scalaVersion().startsWith("3.3") || scalaVersion().startsWith("3.4"))
    base
  else
    base ++ Seq("-Xkind-projector")
}

Observed in

  • mill-iw-support 0.1.1-SNAPSHOT
  • Scala 3.3.7 LTS via scala3LTSVersion
  • Mill 1.1.2
## Problem `IWScalaModule` unconditionally adds the `-Xkind-projector` compiler flag. This flag is only available in newer Scala 3 versions (3.5+). When using Scala 3.3.x LTS (`scala3LTSVersion`), the compiler emits: ``` [warn] bad option '-Xkind-projector' was ignored ``` This warning pollutes build output and would trigger CI warning checks. ## Suggested Fix Conditionally add `-Xkind-projector` only when the Scala version supports it (>= 3.5). Something like: ```scala override def scalacOptions = T { val base = super.scalacOptions() if (scalaVersion().startsWith("3.3") || scalaVersion().startsWith("3.4")) base else base ++ Seq("-Xkind-projector") } ``` ## Observed in - `mill-iw-support` 0.1.1-SNAPSHOT - Scala 3.3.7 LTS via `scala3LTSVersion` - Mill 1.1.2
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
iterative-works/iw-project-support#1
No description provided.