April 04, 2005
When are we going to free of 'printf' in object.d?!?!?!!?

I just got bitten yet again (yeah - short term memory issues ;-) )

c:\dparnell\dmd\bin\..\src\phobos\object.d(24): function object.printf
conflicts with deuce.m_corelib.printf at deuce\m_corelib.d(157)

I want to define a function called 'printf' that has different parameters to the one defined in object.d ... but I'm not allowed to!

Okay, if the reason for printf to be defined in object.d is to make it easy for people to debug code (i.e. not having to import std.stdio and use writef), then can you at least rename the printf in object.d to something a bit more useful to us...eg. 'debugf' ?

-- 
Derek Parnell
Melbourne, Australia
http://www.dsource.org/projects/build/ v1.19 released 04/Apr/2005
http://www.prowiki.org/wiki4d/wiki.cgi?FrontPage
4/04/2005 4:41:29 PM
April 04, 2005
Derek Parnell wrote:

> When are we going to free of 'printf' in object.d?!?!?!!?

I have removed it in my version. I posted the patch on D.bugs.
While I was at it, I also removed Object.print which is stupid.

> I want to define a function called 'printf' that has different parameters
> to the one defined in object.d ... but I'm not allowed to!

However, that reason does not really sound like a worthy goal.
Redefinining std library functions is a good way to get hurt...

> Okay, if the reason for printf to be defined in object.d is to make it easy
> for people to debug code (i.e. not having to import std.stdio and use
> writef), then can you at least rename the printf in object.d to something a
> bit more useful to us...eg. 'debugf' ?

There is no reason for having printf in object.d, except sloppiness.
(i.e. not being willing to add a "import std.c.stdio;" to the module)

And on windows, Object.print also dragged in a lot of lib overhead.

--anders