fpc/tests/webtbs/tw30524a.pp
svenbarth bfaa26d16a Commit r35010 also fixed Mantis #30524.
+ added tests

git-svn-id: trunk@35011 -
2016-11-28 18:37:20 +00:00

43 lines
810 B
ObjectPascal

{ %NORUN }
program tw30524a;
{$ifdef FPC}
{$MODE DELPHI}
{$endif}
{uses
Generics.Defaults;}
type
Tuple<T> = record
Item1: T;
class operator Equal( a, b: Tuple<T> ): Boolean; // FPC Error: Compilation raised exception internally
class operator NotEqual( a, b: Tuple<T> ): Boolean;
end;
Tuple = record
class function Create<T>( Item1: T ): Tuple<T>; overload; static;
end;
class function Tuple.Create<T>( Item1: T ): Tuple<T>;
begin
Result.Item1 := Item1;
end;
class operator Tuple<T>.Equal( a, b: Tuple<T> ): Boolean;
begin
Result := False;//TEqualityComparer<T>.Default.Equals( a.Item1, b.Item1 );
end;
class operator Tuple<T>.NotEqual( a, b: Tuple<T> ): Boolean;
begin
Result := not( a = b );
end;
var
t: Tuple<LongInt>;
begin
t := Tuple.Create<LongInt>(42);
end.