test for #3062
This commit is contained in:
parent
9768db1f87
commit
019cd031c6
16
TestSuite/tuple_var3.pas
Normal file
16
TestSuite/tuple_var3.pas
Normal 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.
|
||||||
|
|
@ -89,7 +89,14 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
{
|
{
|
||||||
var t = ConvertSemanticTypeNodeToNETType(elem_type);
|
var t = ConvertSemanticTypeNodeToNETType(elem_type);
|
||||||
if (t == null)
|
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");
|
AddError(inwhatloc, "TUPLE_OR_SEQUENCE_EXPECTED_FOREACH");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
var IsTuple = IsTupleType(t);
|
var IsTuple = IsTupleType(t);
|
||||||
var IsSequence = !IsTuple && IsSequenceType(t);
|
var IsSequence = !IsTuple && IsSequenceType(t);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue