File: tgeneric14.pp

package info (click to toggle)
fpc 2.6.4%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 178,760 kB
  • ctags: 83,946
  • sloc: pascal: 2,000,374; xml: 138,807; ansic: 9,617; asm: 7,843; yacc: 3,747; php: 3,271; sh: 2,626; makefile: 2,610; lex: 2,537; sql: 267; cpp: 145; sed: 132; perl: 126; csh: 34; tcl: 7
file content (28 lines) | stat: -rw-r--r-- 509 bytes parent folder | download | duplicates (13)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{ %fail }

{$mode objfpc}

{ we test the context sensitivity of generics here, by checking whether names
  are looked up at specialization or at definition time. 
  For the moment this fails, because the assembler symbols are not global and
  therefor not accessible from other .o files }

uses
  ugeneric14;

const
  Foo = 4;

type
  TIntTest = specialize TGTest<Integer>;

var
  A: TIntTest;
begin
  A := TIntTest.Create;
  A.DoSomething;
  writeln(A.data);
  if A.data = 4 then
    halt(1);
  A.Free;
end.