diff --git a/Configuration/GlobalAssemblyInfo.cs b/Configuration/GlobalAssemblyInfo.cs index df0860ba0..f4b31bda2 100644 --- a/Configuration/GlobalAssemblyInfo.cs +++ b/Configuration/GlobalAssemblyInfo.cs @@ -15,7 +15,7 @@ internal static class RevisionClass public const string Major = "3"; public const string Minor = "8"; public const string Build = "3"; - public const string Revision = "3114"; + public const string Revision = "3115"; public const string MainVersion = Major + "." + Minor; public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision; diff --git a/Configuration/Version.defs b/Configuration/Version.defs index e87e07150..16da29b83 100644 --- a/Configuration/Version.defs +++ b/Configuration/Version.defs @@ -1,4 +1,4 @@ -%COREVERSION%=3 -%REVISION%=3114 %MINOR%=8 +%REVISION%=3115 +%COREVERSION%=3 %MAJOR%=3 diff --git a/Release/pabcversion.txt b/Release/pabcversion.txt index e72d17145..3124784b7 100644 --- a/Release/pabcversion.txt +++ b/Release/pabcversion.txt @@ -1 +1 @@ -3.8.3.3114 +3.8.3.3115 diff --git a/ReleaseGenerators/PascalABCNET_version.nsh b/ReleaseGenerators/PascalABCNET_version.nsh index ccd9e66f4..a7291174c 100644 --- a/ReleaseGenerators/PascalABCNET_version.nsh +++ b/ReleaseGenerators/PascalABCNET_version.nsh @@ -1 +1 @@ -!define VERSION '3.8.3.3114' +!define VERSION '3.8.3.3115' diff --git a/TestSuite/ValueTupleUnpack.pas b/TestSuite/ValueTupleUnpack.pas new file mode 100644 index 000000000..0eeca216a --- /dev/null +++ b/TestSuite/ValueTupleUnpack.pas @@ -0,0 +1,15 @@ +## + +function f1 := (1,2); +function f2 := System.ValueTuple.Create(1,2); + +// OK +var (a1,b1) := f1; +// OK +var (a2,b2) := f2; + +// OK +(a1,b1) := f1; +(a2,b2) := f2; +Assert((a1,b1)=(1,2)); +Assert((a2,b2)=(1,2)); \ No newline at end of file diff --git a/TreeConverter/TreeConversion/semantic_checks_for_sugar.cs b/TreeConverter/TreeConversion/semantic_checks_for_sugar.cs index 1d007bb04..80a94a147 100644 --- a/TreeConverter/TreeConversion/semantic_checks_for_sugar.cs +++ b/TreeConverter/TreeConversion/semantic_checks_for_sugar.cs @@ -22,7 +22,7 @@ namespace PascalABCCompiler.TreeConverter var IsTuple = false; var IsSequence = false; - if (t.FullName.StartsWith("System.Tuple")) + if (t.FullName.StartsWith("System.Tuple") || t.FullName.StartsWith("System.ValueTuple")) IsTuple = true; if (!IsTuple) {