summaryrefslogtreecommitdiff
path: root/packages/fcl-passrc/tests/tcresolvegenerics.pas
diff options
context:
space:
mode:
authormattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2>2019-10-21 18:18:48 +0000
committermattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2>2019-10-21 18:18:48 +0000
commit95b33a7ab29389d958a1c05f9fd45372362ef756 (patch)
tree0f40fb7040edbf201a9228d663034cc7bbb98abe /packages/fcl-passrc/tests/tcresolvegenerics.pas
parent0cfc9b79fad86104f6e859c669c3f09f47a98563 (diff)
downloadfpc-95b33a7ab29389d958a1c05f9fd45372362ef756.tar.gz
fcl-passrc: resolver: implicit function specialization: widen common types
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@43295 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/fcl-passrc/tests/tcresolvegenerics.pas')
-rw-r--r--packages/fcl-passrc/tests/tcresolvegenerics.pas19
1 files changed, 18 insertions, 1 deletions
diff --git a/packages/fcl-passrc/tests/tcresolvegenerics.pas b/packages/fcl-passrc/tests/tcresolvegenerics.pas
index 0b89c40d0f..bc031d1e82 100644
--- a/packages/fcl-passrc/tests/tcresolvegenerics.pas
+++ b/packages/fcl-passrc/tests/tcresolvegenerics.pas
@@ -150,7 +150,7 @@ type
procedure TestGenProc_Infer_Overload;
procedure TestGenProc_Infer_OverloadForward;
procedure TestGenProc_Infer_Var_Overload;
- //procedure TestGenProc_Infer_Widen;
+ procedure TestGenProc_Infer_Widen;
procedure TestGenProc_Infer_DefaultValue;
procedure TestGenProc_Infer_DefaultValueMismatch;
procedure TestGenProc_Infer_ProcT;
@@ -2238,6 +2238,23 @@ begin
ParseProgram;
end;
+procedure TTestResolveGenerics.TestGenProc_Infer_Widen;
+begin
+ StartProgram(false);
+ Add([
+ '{$mode delphi}',
+ 'procedure {#A}Run<S>(a: S; b: S);',
+ 'begin',
+ 'end;',
+ 'begin',
+ ' {@A}Run(word(1),longint(2));',
+ ' {@A}Run(int64(1),longint(2));',
+ ' {@A}Run(boolean(false),wordbool(2));',
+ ' {@A}Run(''a'',''foo'');',
+ '']);
+ ParseProgram;
+end;
+
procedure TTestResolveGenerics.TestGenProc_Infer_DefaultValue;
begin
StartProgram(false);