Insuccesso silenzioso per un codice così banale. Come possono rivendicare un'elevata integrità?
with ada.text_io;
use ada.text_io;
procedure overflow is
procedure p (i: positive) is
x: integer := integer'last;
begin
x := (x+i)/2;
put_line (integer'image(x) & " should be positive");
end;
begin
p(10);
end;
Neanche un avvertimento del compilatore come "non può garantire la mancanza di overflow" o smth.
Questo sembra meno incline agli errori di alcune delle trappole del C ++ che i ragazzi di Ada amano sottolineare. Correggimi se sbaglio Mi piacerebbe avere un linguaggio migliore del C ++, ma continuo ad affrontare la complessità del linguaggio che dovrebbe proteggere da tutte le insidie e ancora.