{$MODE OBJFPC}

type
generic TGeneric<T> = object
  procedure Example(const A, B, C: T); static;
end;

procedure TGeneric.Example(const A, B, C: T); static;
var
  ProjOf: record X, Y, Z: Single; end;
begin
  ProjOf.X := A;
  Writeln(ProjOf.X);
end;

var
  G: specialize TGeneric<Single>;

begin
  G.Example(1.0, 2.0, 3.0);
end.
