From 5f60a9e14bf009ed9863f0a1443aced457f4d980 Mon Sep 17 00:00:00 2001 From: Krzysztof Romanowski Date: Wed, 3 May 2023 17:39:52 +0200 Subject: [PATCH] Better message on TASTY mismatch --- .../tools/tasty/TastyHeaderUnpickler.scala | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/tasty/src/dotty/tools/tasty/TastyHeaderUnpickler.scala b/tasty/src/dotty/tools/tasty/TastyHeaderUnpickler.scala index c0ed5dbd58fa..44caf299ab3f 100644 --- a/tasty/src/dotty/tools/tasty/TastyHeaderUnpickler.scala +++ b/tasty/src/dotty/tools/tasty/TastyHeaderUnpickler.scala @@ -107,11 +107,20 @@ object TastyHeaderUnpickler { } val minorVersion = showMinorVersion(MinorVersion, ExperimentalVersion) val fileMinorVersion = showMinorVersion(fileMinor, fileExperimental) - s"""TASTy signature has wrong version. - | expected: {majorVersion: $MajorVersion, minorVersion: $minorVersion} - | found : {majorVersion: $fileMajor, minorVersion: $fileMinorVersion} - | - |""".stripMargin + + if (MinorVersion == 28 && fileMajor == 28) + s"""Found a file on classpath, that was compiled with a newer Scala version than the one currently used. + | Found: 3.$fileMinorVersion + | Supported: 3.$minorVersion or older + | + | Try updating your Scala version to 3.$fileMinorVersion or change the classpath.""".stripMargin + else + // This should not happen in practice but better safe than sorry + s"""TASTy signature has wrong version that cannot be expressed as Scala version. + | expected: {majorVersion: $MajorVersion, minorVersion: $minorVersion} + | found : {majorVersion: $fileMajor, minorVersion: $fileMinorVersion} + |""".stripMargin + } private def unstableAddendum =