From 826463a9e052ea19aabfd9d3e340404791043a32 Mon Sep 17 00:00:00 2001 From: Ivan Bondarev Date: Sun, 24 Jul 2022 14:18:00 +0200 Subject: [PATCH] #2680 --- Compiler/PCU/PCUReader.cs | 2 +- TestSuite/units/u_generics12.pas | 5 +++++ TestSuite/usesunits/use_generics12.pas | 5 +++++ 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 TestSuite/units/u_generics12.pas create mode 100644 TestSuite/usesunits/use_generics12.pas diff --git a/Compiler/PCU/PCUReader.cs b/Compiler/PCU/PCUReader.cs index f96d9a751..8baf8b93e 100644 --- a/Compiler/PCU/PCUReader.cs +++ b/Compiler/PCU/PCUReader.cs @@ -763,7 +763,7 @@ namespace PascalABCCompiler.PCU return t; template_types[i] = tt; } - if (template_types.Length > 0) + if (template_types.Length > 0 && t.IsGenericTypeDefinition) return t.MakeGenericType(template_types); return t; } diff --git a/TestSuite/units/u_generics12.pas b/TestSuite/units/u_generics12.pas new file mode 100644 index 000000000..5a5cd7246 --- /dev/null +++ b/TestSuite/units/u_generics12.pas @@ -0,0 +1,5 @@ +unit u_generics12; + +function f1: sequence of array of (integer, real) := Seq(|(1,2.3)|,|(3,4.3)|); + +end. \ No newline at end of file diff --git a/TestSuite/usesunits/use_generics12.pas b/TestSuite/usesunits/use_generics12.pas new file mode 100644 index 000000000..f019f0e3a --- /dev/null +++ b/TestSuite/usesunits/use_generics12.pas @@ -0,0 +1,5 @@ +uses u_generics12; + +begin + assert(f1.ToArray[1][0].Item1 = 3); +end. \ No newline at end of file