type t1 = class static function operator implicit(val: T): t1; begin Writeln('rec'); end; static function operator implicit(val: ^T): t1; begin Writeln('ptr'); end; end; t2 = class end; begin var i := 5; var a: t1 := @i; end.