On Wed, Nov 4, 2009 at 22:36, Paul Ishenin <webpi...@mail.ru> wrote:
> Alexander Klenin wrote:
>>
>> Yet another bug:
>>
>> ---
>> type T = (a1, b1=5);
>> var
>>  ch: T;
>> begin
>>  for ch in T do Writeln(ch);
>> end.
>>
>
> This is caused by the problem in the for-to loop:
>
> for ch := Low(T) to High(T) do
>  WriteLn(ch)
>
> How should I solve the problem in the for-in loop?
>
> I tried the next way:
>  ch := Low(T);
>  while ch <= High(T) do
>  begin
>   WriteLn(ch);
>   inc(ch);
>
> But it fails the same way.

ch := succ(ch);

OTOH, I am not sure -- obviously either Succ or Inc is buggy, but which one?
Maybe runtime instead of compile-time error is actually correct?

-- 
Alexander S. Klenin
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to