On 05/15/2012 10:39 AM, deadalnix wrote:
Le 14/05/2012 19:38, Alex Rønne Petersen a écrit :
On 14-05-2012 15:21, Gor Gyolchanyan wrote:
I thing the zero-terminated literal shtick is pointless. Literals are
rarely passed to C functions, so we gotta use the std.utf.toUTFz anyway.

On Mon, May 14, 2012 at 5:03 PM, Christophe
<[email protected] <mailto:[email protected]>>
wrote:

deadalnix , dans le message (digitalmars.D:167258), a écrit :
> A good solution would be to set the pointer to 0 when the length
is set
> to 0.

String literal are zero-terminated. "" cannot point to 0x0,
unless we drop this rule. Maybe we should...




--
Bye,
Gor Gyolchanyan.

This is very false. I invite you to read almost any module in druntime.
You'll find that it makes heavy use of printf debugging.

That being said, dropping the null-termination rule when passing strings
to non-const(char)* parameters/variables/etc would be sane enough (I
think).


This looks to me like a bad practice. C string and D string are
different beasts, and we have toStringz .


It is not. Claiming valid use cases are bad practice does not help the discussion. It is disrespectful and patronising.

It is kind of dumb to create a WAT is the language because druntime dev
did mistakes.

The conclusion is based on a wrong premise therefore it is meaningless.

It have to be fixed.

It can be fixed better by making (null !is []) hold instead of making ("" is null) hold.

Reply via email to