Skip to content

Spurious "Cyclic macro dependencies" error with pipelining turned on #20119

Closed
@bishabosha

Description

@bishabosha

Compiler version

3.5.0-RC1-bin-20240404-a7f00e2-NIGHTLY

Minimized code

both these projects exhibit the behaviour:

https://github.com/DFiantHDL/DFiant/tree/pipeline
https://github.com/atry/html.scala/tree/v3.0.3

Add these lines to build.sbt

ThisBuild / usePipelining := true
ThisBuild / scalaVersion := "3.5.0-RC1-bin-20240404-a7f00e2-NIGHTLY"

Output

from command html/Test/compile in atry/html.scala

[error] Cyclic macro dependencies in /Users/jamie/workspace/html.scala/html/target/scala-3.5.0-RC1-bin-20240404-a7f00e2-NIGHTLY/src_managed/test/sbt-example-generated.scala.
[error] Compilation stopped since no further progress can be made.
[error]
[error] To fix this, place macros in one set of files and their callers in another.
[error]
[error] Compile with -Xprint-suspension for information.
[warn] one warning found
[error] one error found
[error] Total time: 3 s, completed Apr 8, 2024, 9:11:58 AM

from command core/compile in DFiantHDL/DFiant

[error] Cyclic macro dependencies among
[error]
[error]   /Users/jamie/workspace/DFiant/core/src/main/scala/dfhdl/core/DFBits.scala, /Users/jamie/workspace/DFiant/core/src/main/scala/dfhdl/core/DFVector.scala, /Users/jamie/workspace/DFiant/core/src/main/scala/dfhdl/core/SameElementsVector.scala
[error]
[error] Compilation stopped since no further progress can be made.
[error]
[error] To fix this, place macros in one set of files and their callers in another.
[error]
[error] Compile with -Xprint-suspension for information.
[error] one error found
[error] (core / Compile / compileIncremental) Compilation failed
[error] Total time: 28 s, completed 8 Apr 2024, 09:19:48

both do not appear if pipelining is turned off.

Expectation

compile as normal

Metadata

Metadata

Assignees

Labels

area:toolingbetter-errorsIssues concerned with improving confusing/unhelpful diagnostic messagesitype:bug

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions