string-arguments of functions in 'std.file'
Daniel Keep
daniel.keep.lists at gmail.com
Sat Feb 28 19:47:21 PST 2009
torhu wrote:
> On 28.02.2009 15:47, Daniel Keep wrote:
>>
>> CLXX wrote:
>>> dmd2.025, Windows
>>>
>>> Some standard functions receive 'string' arguments.
>>> This is not a bug, but not good specs.
>>>
>>> void[] read( in string name );
>>> void[] write( in string name, const void[] buffer );
>>> ....
>>>
>>> They should be
>>>
>>> void[] read( in char[] name );
>>> void[] write( in char[] name, const void[] buffer );
>>> ....
>>>
>>> Former cannot receive char[]-arguments, and latter can.
>>> This change has backward compatibility.
>>
>> I... wait, what?
>>
>> *blinks*
>>
>> That change will just mean that the functions can't take string
>> arguments, and if you WANT to pass a string, you have to heap-allocate a
>> new one.
>>
>> Why don't you just pass a string?
>
> Hehe, someone had to little coffee today. 'in' implies const, and
> invariant is implicitly convertible to const. So Mr. 'CLXX' is right. :P
*stares at it*
Well, that's what I get for posting at 2 AM.
-- Daniel
More information about the Digitalmars-d
mailing list