This commit is contained in:
Ivan Bondarev 2024-03-31 14:25:10 +02:00
parent 9768db1f87
commit 019cd031c6
2 changed files with 23 additions and 0 deletions

16
TestSuite/tuple_var3.pas Normal file
View file

@ -0,0 +1,16 @@
type c1 = class end;
begin
var i := 0;
// OK
foreach var (a,b) in ||new object, new object|| do
//Ошибка: Ожидалась последовательность кортежей или последовательностей
foreach var (c,d) in ||new c1, new c1|| do
begin
assert(c <> nil);
assert(d <> nil);
assert(c <> d);
i := 1;
end;
assert(i = 1);
end.

View file

@ -89,7 +89,14 @@ namespace PascalABCCompiler.TreeConverter
{
var t = ConvertSemanticTypeNodeToNETType(elem_type);
if (t == null)
{
bool bb;
type_node tn = null;
if (FindIEnumerableElementType(elem_type, ref tn, out bb))
return;
AddError(inwhatloc, "TUPLE_OR_SEQUENCE_EXPECTED_FOREACH");
}
var IsTuple = IsTupleType(t);
var IsSequence = !IsTuple && IsSequenceType(t);