This commit is contained in:
parent
91df93410b
commit
22b77e38af
|
|
@ -838,7 +838,7 @@ namespace PascalABCCompiler.NETGenerator {
|
||||||
|
|
||||||
public bool IsConstructedGenericType(Type t)
|
public bool IsConstructedGenericType(Type t)
|
||||||
{
|
{
|
||||||
if (t is TypeBuilder || t is GenericTypeParameterBuilder || t is EnumBuilder)
|
if (t is TypeBuilder || t is GenericTypeParameterBuilder || t is EnumBuilder || t.GetType().FullName == "System.Reflection.Emit.TypeBuilderInstantiation")
|
||||||
return true;
|
return true;
|
||||||
if (t.IsGenericType)
|
if (t.IsGenericType)
|
||||||
foreach (Type gt in t.GetGenericArguments())
|
foreach (Type gt in t.GetGenericArguments())
|
||||||
|
|
|
||||||
15
TestSuite/foreach10.pas
Normal file
15
TestSuite/foreach10.pas
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
type
|
||||||
|
// Обязательно пользовательский шаблонный тип
|
||||||
|
t1<T> = class end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
// Обязательно массив
|
||||||
|
// foreach по "a.AsEnumerable" не падает
|
||||||
|
var a: array of t1<byte> := Arr(new t1<byte>);
|
||||||
|
var i := 0;
|
||||||
|
foreach var x in a do
|
||||||
|
begin
|
||||||
|
Inc(i);
|
||||||
|
end;
|
||||||
|
assert(i = 1);
|
||||||
|
end.
|
||||||
Loading…
Reference in a new issue