summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-04-24 11:49:01 +0000
committermattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-04-24 11:49:01 +0000
commite02562634b4376b387998d873d2dbcfc0da593fc (patch)
treee78d7b05a07e4f0208ab02c9f906cf415f4e6a4a
parent46654882fa21eb8cd56ca1720cf81c265a75bb7e (diff)
downloadfpc-e02562634b4376b387998d873d2dbcfc0da593fc.tar.gz
fcl-passrc: started example issue 38784
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@49254 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--packages/fcl-passrc/tests/tcresolvegenerics.pas30
1 files changed, 29 insertions, 1 deletions
diff --git a/packages/fcl-passrc/tests/tcresolvegenerics.pas b/packages/fcl-passrc/tests/tcresolvegenerics.pas
index 8c39552070..bf0e95dc5e 100644
--- a/packages/fcl-passrc/tests/tcresolvegenerics.pas
+++ b/packages/fcl-passrc/tests/tcresolvegenerics.pas
@@ -157,7 +157,7 @@ type
procedure TestGenProc_TypeParamCntOverloadNoParams;
procedure TestGenProc_TypeParamWithDefaultParamDelphiFail;
procedure TestGenProc_ParamSpecWithT;
- // ToDo: TestGenProc_ParamSpecWithTNestedType function Fly<T>(a: TBird<T>.TEvent; aSender: T): Word;
+ procedure TestGenProc_ParamSpecWithTNestedType; // ToDo
// ToDo: NestedResultAssign
// generic function infer types
@@ -2555,6 +2555,34 @@ begin
ParseProgram;
end;
+procedure TTestResolveGenerics.TestGenProc_ParamSpecWithTNestedType;
+begin
+ exit;
+
+ StartProgram(false);
+ Add([
+ '{$mode delphi}',
+ 'type',
+ ' TObject = class end;',
+ ' TBird<T> = class',
+ ' type',
+ ' TEvent = procedure(aSender: T);',
+ ' end;',
+ 'procedure Fly<T>(Event: TBird<T>.TEvent; Sender: T);',
+ 'begin',
+ ' Event(Sender);',
+ 'end;',
+ 'procedure Run(aSender: TObject);',
+ 'begin',
+ 'end;',
+ 'var',
+ ' Bird: TBird<TObject>;',
+ 'begin',
+ ' Fly<TObject>(Run,Bird);',
+ '']);
+ ParseProgram;
+end;
+
procedure TTestResolveGenerics.TestGenProc_Infer_NeedExplicitFail;
begin
StartProgram(false);