diff options
author | mattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2019-10-21 18:18:48 +0000 |
---|---|---|
committer | mattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2019-10-21 18:18:48 +0000 |
commit | 95b33a7ab29389d958a1c05f9fd45372362ef756 (patch) | |
tree | 0f40fb7040edbf201a9228d663034cc7bbb98abe /packages/fcl-passrc/tests/tcresolvegenerics.pas | |
parent | 0cfc9b79fad86104f6e859c669c3f09f47a98563 (diff) | |
download | fpc-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.pas | 19 |
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); |