On Fri, 17 Aug 2007, Florian Klaempfl wrote:
> Michael Van Canneyt schrieb: > > > > On Fri, 17 Aug 2007, Florian Klaempfl wrote: > > > > > Mattias Gaertner schrieb: > > > > On Thu, 16 Aug 2007 23:31:25 +0200 (CEST) > > > > Michael Van Canneyt <[EMAIL PROTECTED]> 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>; > > > > end; > > > > > > > > And this neither: > > > > > > > > generic TTree<T> = class(TObject) > > > > type public > > > > TTreeNode = class > > > > Data: T; > > > > end; > > > > end; > > > > > > > > > > > > OTOH records and pointers are allowed. > > > > Will this stay, or is this just not yet implemented? > > > Is there a need to support this? > > > > Well, it seems rather strange that the type block would not allow all > > possible types. > > Only a few types can be generic as well. Nested classes cause a lot of hidden > pitfalls, that's why they aren't allowed. OK, probably I should add this to the docs. I assume all types can be defined except classes and generics ? Michael. _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel