From 88d903bbedeb995ada6dca2d00689ffda6bd1af3 Mon Sep 17 00:00:00 2001 From: Ivan Bondarev Date: Sun, 20 Nov 2022 12:32:32 +0100 Subject: [PATCH] #2724 --- TestSuite/tuples2.pas | 11 +++++++++++ .../TreeConversion/SyntaxTreeVisitorNodes/Foreach.cs | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 TestSuite/tuples2.pas diff --git a/TestSuite/tuples2.pas b/TestSuite/tuples2.pas new file mode 100644 index 000000000..a6b69b386 --- /dev/null +++ b/TestSuite/tuples2.pas @@ -0,0 +1,11 @@ +begin + var a := |System.ValueTuple.Create('c',1)|; + var b := false; + foreach var (ch, i) in a do + begin + assert(ch = 'c'); + assert(i = 1); + b := true; + end; + assert(b); +end. \ No newline at end of file diff --git a/TreeConverter/TreeConversion/SyntaxTreeVisitorNodes/Foreach.cs b/TreeConverter/TreeConversion/SyntaxTreeVisitorNodes/Foreach.cs index 3a8993d53..0a8c6362f 100644 --- a/TreeConverter/TreeConversion/SyntaxTreeVisitorNodes/Foreach.cs +++ b/TreeConverter/TreeConversion/SyntaxTreeVisitorNodes/Foreach.cs @@ -93,7 +93,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) {