//!Нельзя преобразовать тип Generic2> к ConvTarget type Generic1 = class end; Generic2 = class end; ConvTarget = class static function operator implicit(o: Generic2>): ConvTarget; where T1, T2: record; begin Result := new ConvTarget; end; end; begin var a: Generic2>; var o: ConvTarget := a; end.