mirror of
https://github.com/sbt/sbt.git
synced 2026-09-02 11:07:30 +02:00
When using `ProjectMatrix` with `CrossVersion.full` and Scala 2 versions like `2.13.18`, the project ID incorrectly became `$1$2_13_18` instead of `foo2_13_18`. **Root cause:** The Scala 3 compiler creates synthetic intermediate vals (e.g., `$1`) during macro expansion. The `enclosingTerm` function in the macros was stopping at these synthetic symbols instead of continuing up the symbol tree to find the actual val name. **Fix:** Added `Flags.Synthetic` check to skip compiler-generated symbols in: - `main-settings/src/main/scala/sbt/std/KeyMacro.scala` - `lm-core/src/main/scala/sbt/librarymanagement/ConfigurationExtra.scala` --------- Co-authored-by: byteforge38 <[email protected]>