@@ -0,0 +1,22 @@
+{ %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;
+ b:=0;
+ l:=b;
+ writeln(l);
+end.