On 06/11/2018 08:13, Ryan Joseph wrote:
I implemented a first draft of constants (integers) in generics. My reason was 
specifically that I wanted a way to add methods to static arrays and generic 
records is the only way to accomplish this AFAIK.

If I fix this up will it be considered as a patch? I wanted to present the idea 
first before I spent any more time. Here’s what I has so far (on GitHub).


Just for info, there already is a way to do this, though being able to do it direct would be nice. You can wrap any constants into an object (or advanced record).

program Project1;
{$mode objfpc}{$H+}
uses  Classes;

type
  generic Foo<A> = object
    class procedure test;
  end;

  Data = object
    const val = 1;
  end;

var
  bar: specialize Foo<data>;

class procedure Foo.test;
begin
  writeln(A.val);
end;

begin
  bar.test;
  readln;
end.

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to