Am 16.12.2020 um 17:09 schrieb Blaise--- via fpc-devel:
The patch http://hg.blaise.ru/public/fpc/rev/544a934d262e (attached) fixes the following:
-------8<-------
{$Mode Delphi}

type G<T> = class
    var X: T;
    // EXPECTED: gets compiled
    // ACTUAL: 'Error: Generics without specialization cannot be used as a type for a variable'
    class var F: function(const X: T) : G<T> of object;
    function Foo(const X: T): G<T>;
end;

function G<T>.Foo(const X: T): G<T>;
begin
    result := G<T>.Create;
    result.X := X
end;

begin
    G<Integer>.F := G<Integer>.Create.Foo;
    writeln( G<Integer>.F(42).X = 42 );
end.
-------8<-------

Applied in r47795.

Regards,
Sven
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to