diff options
author | mattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2020-12-23 01:07:00 +0000 |
---|---|---|
committer | mattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2020-12-23 01:07:00 +0000 |
commit | b2248ac2096d4dcb1a4778b302f83670873c9903 (patch) | |
tree | 3ae94630a4d001a10f76a426fb48e883b9900775 /packages/fcl-passrc/tests/tcresolvegenerics.pas | |
parent | d95413581098d8e369ddd97e018f02767581efb1 (diff) | |
download | fpc-b2248ac2096d4dcb1a4778b302f83670873c9903.tar.gz |
fcl-passrc: typecast generic template type to generic template type
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@47836 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/fcl-passrc/tests/tcresolvegenerics.pas')
-rw-r--r-- | packages/fcl-passrc/tests/tcresolvegenerics.pas | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/packages/fcl-passrc/tests/tcresolvegenerics.pas b/packages/fcl-passrc/tests/tcresolvegenerics.pas index 1e0fd556cc..cf377b03e0 100644 --- a/packages/fcl-passrc/tests/tcresolvegenerics.pas +++ b/packages/fcl-passrc/tests/tcresolvegenerics.pas @@ -185,6 +185,7 @@ type procedure TestGenMethod_OverloadTypeParamCntObjFPC; procedure TestGenMethod_OverloadTypeParamCntDelphi; procedure TestGenMethod_OverloadArgs; + procedure TestGenMethod_TypeCastParam; end; implementation @@ -2982,6 +2983,29 @@ begin ParseProgram; end; +procedure TTestResolveGenerics.TestGenMethod_TypeCastParam; +begin + StartUnit(false); + Add([ + '{$mode delphi}', + 'interface', + 'type', + ' TObject = class end;', + ' TArray<T> = array of T;', + ' TBird = class', + ' F: TArray<TObject>;', + ' procedure Run<S>(a: TArray<S>);', + ' end;', + 'implementation', + 'procedure TBird.Run<S>(a: TArray<S>);', + 'begin', + ' a:=TArray<S>(a);', + //' F:=TArray<TObject>(a);', + 'end;', + '']); + ParseUnit; +end; + initialization RegisterTests([TTestResolveGenerics]); |