On Thu, 04 Oct 2012 01:05:14 +0100, Steven Schveighoffer <schvei...@yahoo.com> wrote:

On Wed, 03 Oct 2012 08:37:14 -0400, Regan Heath <re...@netmail.co.nz> wrote:

On Tue, 02 Oct 2012 21:44:11 +0100, Steven Schveighoffer <schvei...@yahoo.com> wrote:
In fact, a better solution would be to define a C string type (other than char *), and just pretend those system calls return that. Then support that C string type in writef.

-Steve

:D
http://comments.gmane.org/gmane.comp.lang.d.general/97793


Almost what I was thinking.

:)

Though, at that point, I don't think we need a special specifier for writef. %s works.

True.

However, looking at the vast reach of these changes, I wonder if it's worth it. That's a lot of prototypes to C functions that have to change, and a large compiler change (treating string literals as CString instead of char *), just so C strings print out with writef.

That's not the only motivation. The change brings more type safety in general and should help to catch bugs, like for example the common one made by people just starting out with D (from a C/C++ background).

Not to mention code that will certainly break...

Some code will definitely stop compiling, but it's debatable as to whether this code is not already "broken" to some degree.. it's likely not as safe/robust as it could be.

R

--
Using Opera's revolutionary email client: http://www.opera.com/mail/

Reply via email to