{ %fail } {$mode objfpc} uses gvector; type generic TObjectVector = class(specialize TVector) procedure X; //Destroy; override; end; TMyVector = specialize TObjectVector; //destructor TMyVector.Destroy; procedure TMyVector.X; begin end; begin end.