program fjf554m;

type
  x = set of Byte;

var
  Called: Boolean = False;

function foo: x;
begin
  Called := True;
  foo := []
end;

begin
  if not {$W-} ([] > foo) {$W+} and Called then WriteLn ('OK') else WriteLn ('failed')
end.
