[fpc-devel] Generics

Mattias Gaertner nc-gaertnma at netcologne.de
Fri Aug 17 00:18:29 CEST 2007

On Thu, 16 Aug 2007 23:31:25 +0200 (CEST)
Michael Van Canneyt <michael at freepascal.org> wrote:

> > Why is the local variable block needed?
> It is not. I asked the same question. It was added for symmetry
> reasons: if a local type block is allowed, then a var block should
> also be allowed.
> But they are not different from local fields.

Strange. ok.

What local types are/will be allowed?

For example, this is currently not allowed:

  generic TTree<T> = class(TObject)
  type public 
    TTreeNode = specialize TNode<T>;

And this neither:

  generic TTree<T> = class(TObject)
  type public
    TTreeNode = class
      Data: T;

OTOH records and pointers are allowed.
Will this stay, or is this just not yet implemented?


More information about the fpc-devel mailing list