bug fix #1685
This commit is contained in:
parent
c42451dbb2
commit
e6dcb22a7c
|
|
@ -829,6 +829,8 @@ namespace PascalABCCompiler.NETGenerator {
|
||||||
foreach (Type gt in t.GetGenericArguments())
|
foreach (Type gt in t.GetGenericArguments())
|
||||||
if (IsConstructedGenericType(gt))
|
if (IsConstructedGenericType(gt))
|
||||||
return true;
|
return true;
|
||||||
|
if (t.IsArray)
|
||||||
|
return IsConstructedGenericType(t.GetElementType());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
24
TestSuite/foreachmultiarray1.pas
Normal file
24
TestSuite/foreachmultiarray1.pas
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
type
|
||||||
|
T = class
|
||||||
|
end;
|
||||||
|
|
||||||
|
var o: T;
|
||||||
|
|
||||||
|
procedure p(a: array of array of T);
|
||||||
|
begin
|
||||||
|
foreach var x in a do
|
||||||
|
foreach var y in x do
|
||||||
|
begin
|
||||||
|
o := y;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
var a: array of array of T;
|
||||||
|
SetLength(a, 2);
|
||||||
|
SetLength(a[0], 2);
|
||||||
|
SetLength(a[1], 2);
|
||||||
|
a[1][1] := new T;
|
||||||
|
p(a);
|
||||||
|
assert(a[1][1] = o);
|
||||||
|
end.
|
||||||
Loading…
Reference in a new issue