{ %fail } { This should not be allowed, it creates an infinite loop. The loop can be solved using word() typecasts. But it is to dangerous code to be allowed } operator := (b:byte) l:longint; begin if b=0 then l:=-1 else l:=0; end; var l : longint; b : byte; begin b:=0; l:=b; writeln(l); end.