On Mon, 2013-05-27 at 13:51 +0200, Adam D. Ruppe wrote:
> Yeah, me too.

Phew, I'm so pleased it is not just me!

My problem was forgetting an import. I am using std.array.split in one
function and std.stdio.writef in a completely separate function. With
split imported correctly everything compiles and runs as expected and
required. Forgetting the import of split(*), I get:

wc.d(11): Error: undefined identifier 'split'
/usr/include/dmd/phobos/std/range.d(611): Error: static assert  "Cannot put a 
char[] into a Appender!(string)"
/usr/include/dmd/phobos/std/format.d(1436):        instantiated from here: 
put!(Appender!(string), char[])
/usr/include/dmd/phobos/std/format.d(1338):        instantiated from here: 
formatUnsigned!(Appender!(string), char)
/usr/include/dmd/phobos/std/format.d(1312):        instantiated from here: 
formatIntegral!(Appender!(string), ulong, char)
/usr/include/dmd/phobos/std/conv.d(100):        ... (13 instantiations, -v to 
show) ...
/usr/include/dmd/phobos/std/stdio.d(1784):        instantiated from here: 
writefln!(char, immutable(int),immutable(int),immutable(int),string)
wc.d(18):        instantiated from here: 
writefln!(string,immutable(int),immutable(int),immutable(int),string)

Which definitely results in a ***WTF***. How can a missing import cause
this insane error report? If I use -v it looks even worse.


(*) I am not a fan of importing all symbols from a module, so I always
use selective imports. Whilst Python has no problem with imports and
name spaces, Java, Scala, Groovy and D have horrible problems since the
import imports into the current namespace. Obviously C++ is just a
problem here due to textual inclusion rather than a module system.

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:[email protected]
41 Buckmaster Road    m: +44 7770 465 077   xmpp: [email protected]
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to