Skip to content

Enable forward compatibility tests for 3.1.x #14633

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions tasty/src/dotty/tools/tasty/TastyFormat.scala
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@ object TastyFormat {
* compatibility, but remains backwards compatible, with all
* preceeding `MinorVersion`.
*/
final val MinorVersion: Int = 2
final val MinorVersion: Int = 1

/** Natural Number. The `ExperimentalVersion` allows for
* experimentation with changes to TASTy without committing
Expand All @@ -305,8 +305,19 @@ object TastyFormat {
* However, tooling with an experimental TASTy version
* is able to read final TASTy documents if the file's
* `MinorVersion` is strictly less than the current value.
*
* When the format gets fixed for a minor version of the language,
* e.g. at the point of the release of Scala 3.2.0-RC1,
* the experimental version number should be changed to 0 and after that
* the same non-experimental verion of TASTy should be used
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* the same non-experimental verion of TASTy should be used
* the same non-experimental version of TASTy should be used

* until the snapshot version of the next minor language release
* (3.3.0-RC1-SNAPSHOT in this case) when TASTy minor version gets bumped
* and the experimental version number gets set to a 1.
* The period between Scala 3.3.0-RC1-SNAPSHOT and 3.3.0-RC1
* is the only time when experimental TASTy version number can be incremented.
* When 3.3.0-RC1 gets released the experimental version number should be set to 0 again.
*/
final val ExperimentalVersion: Int = 1
final val ExperimentalVersion: Int = 0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we change this then the nightly will have a stable release version

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems like discussion on #14306 seems to agree with doing this however

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's the point. That should be OK as until we release 3.1.3-RC1 and start working on 3.2.0-RC1-SNAPSHOT on the main branch we're forced to stick to 28.1-0 as TASTy format

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to be a workaround #14306 rather than a fix. How would that solve the exact same problem for 3.2 when and later versions?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to indicate that all nightly and snapshots will be tagged as stable. Can't we do something more fine-grained?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At some point we will have to set this to 1 and it will brack the tests.


/**This method implements a binary relation (`<:<`) between two TASTy versions.
*
Expand Down
1 change: 0 additions & 1 deletion tests/disabled/pos-macros/forwardCompat-3.1/why.md

This file was deleted.