Und wenn Delphi/Pascal sich auf die Fahnen geschrieben hat Typsicher zu sein ist zumindestens eine Warnung nicht schlecht. Irgendwo gibt's die auch, aber ich weiß jetzt nicht mehr den konkreten Wortlaut.
Du meinst dies?
Zitat:
W1023: Comparing signed and unsigned types - widened both operands
W1024: Combining signed and unsigned types - widened both operands
Delphi-Quellcode:
var
s : shortint;
b : byte;
begin
s := -128;
b := 130;
assert(b < s);
end.
Delphi-Quellcode:
{$APPTYPE CONSOLE}
program Produce;
var
i : Integer;
c : Cardinal;
begin
i := -128;
c := 130;
WriteLn(i + c);
end.
"There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors."