On Fri, 17 Aug 2007 10:20:13 +0200 (CEST) Michael Van Canneyt <[EMAIL PROTECTED]> wrote:
>[...] > > > > > 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? I don't need them. I'm just asking for the codetools. So I guess the answer is: Will stay. (read: there are no further plans). > > > 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 ? .. and objects and interfaces. It seems generic objects and interfaces are allowed, but this is not yet documented. What about generic records? Will they be implemented? Mattias _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel