[fpc-devel] Bug in FPC and declaring distinct types

Yury Sidorov jura at cp-lab.com
Thu Sep 18 15:50:43 CEST 2008


From: "Florian Klaempfl" <florian at freepascal.org>
> Yury Sidorov schrieb:
>> From: "Florian Klaempfl" <florian at freepascal.org>
>> To: "FPC developers' list" <fpc-devel at lists.freepascal.org>
>> Sent: Thursday, September 18, 2008 4:14 PM
>> Subject: Re: [fpc-devel] Bug in FPC and declaring distinct types
>>
>>
>>> Yury Sidorov schrieb:
>>>>>> Yes. But it works only partially. For example the following 
>>>>>> code is not compilable:
>>>>>
>>>>> Well, I wouldn't know either what you expect :)
>>>>
>>>> I expect that compiler will choose DoTest with ansistring 
>>>> parameter in that case.
>>>
>>> What rule do you apply to say this?
>>
>> Compiler treats '1234' as ansistring constant. Therefore ansistring 
>> overload must be choosen here.
>
> No, '1234' is taken as generic string constant.

Yes, I just tried to explain possible logic :)

Also the following code is not possible currently:

//------
operator := (const s: ansistring) r: TUTF8String;
begin
end;

operator := (const s: TUTF8String) r: ansistring;
begin
end;
//------

It makes implementation of utf8string impossible using this 
approach...

>>>>>> //------
>>>>>> type
>>>>>>  TUTF8String = type ansistring;
>>>>>>
>>>>>> procedure DoTest(const s: ansistring); overload;
>>>>>> begin
>>>>>> end;
>>>>>>
>>>>>> procedure DoTest(const s: TUTF8String); overload;
>>>>>> begin
>>>>>> end;
>>>>>>
>>>>>> begin
>>>>>>  DoTest('1234');
>>>>>> end.
>>>>>>
>>>>>> //------
>> _______________________________________________
>> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
>> http://lists.freepascal.org/mailman/listinfo/fpc-devel
>>
>
> _______________________________________________
> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-devel 



More information about the fpc-devel mailing list