в Delphi Xe или 2006 году, есть ли способ обнаружить во время компиляции , что неявные преобразования между целочисленными типами могут потерять данные? Я понимаю, что можно обнаружить это с проверкой времени выполнения. Я хотел бы, чтобы это произошло в следующем примере , даже если «большое» значение было 1. (мы рассматриваем изменение int bigint для определенных ключей базы данных и хотят определить влияние на большую наследующую кодовую базу. )
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
small: Integer;
big: Int64;
begin
big := 3000000000000;
small := big; // Detect me!
Writeln(small);
end.