Skip to content

Changes to StagedTuple #5409

Closed
Closed
@odersky

Description

@odersky

I noted the following problems when trying to make StageTuple optional:

  • there seems to be a build problem. If Tuple.stageIt is turned on, we fail with the following two error messages in dotty-bootstrapped/compile:
[error] -- Error: /Users/odersky/workspace/dotty/library/src-scala3/scala/Tuple.scala:315:17 
[error] 315 |    if (stageIt) stagedHead
[error]     |                 ^^^^^^^^^^
[error]     |Could not find class scala.StagedTuple$ in classpath. The most common reason for that is that you apply macros in the compilation run that defines them
[error]     | This location is in code that was inlined at /Users/odersky/workspace/dotty/library/src-scala3/scala/Tuple.scala:479
[error] -- Error: /Users/odersky/workspace/dotty/library/src-scala3/scala/Tuple.scala:346:17 
[error] 346 |    if (stageIt) stagedTail
[error]     |                 ^^^^^^^^^^
[error]     |Could not find class scala.StagedTuple$ in classpath. The most common reason for that is that you apply macros in the compilation run that defines them
[error]     | This location is in code that was inlined at /Users/odersky/workspace/dotty/library/src-scala3/scala/Tuple.scala:479

I am curious why the other 6 occurrences of splices do not give errors?

Other issues with StagedTuple.

  • It's for internal use only, so should definitely not be in scala package.
  • Inconsistent naming: stagedCons vs headStaged.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions