Thread overview
Error: undefined identifier executeShell
Oct 10, 2013
Gary Willoughby
Oct 10, 2013
Iain Buclaw
Oct 10, 2013
Dicebot
Oct 10, 2013
Iain Buclaw
Oct 10, 2013
Dicebot
October 10, 2013
Using Debian7, gcc-4.8, gdc-4.8 from the `testing main` debian source.

	import std.stdio;
	import std.process;

	void main()
	{
		string x = executeShell("uname").output;
		writefln(x);
	}

$ gdc test.d -o test

test.d:6: Error: undefined identifier executeShell
/usr/include/d/4.8/std/range.d:611: Error: static assert  "Cannot put a char[] into a Appender!(string)"
/usr/include/d/4.8/std/format.d:1440:        instantiated from here: put!(Appender!(string), char[])
/usr/include/d/4.8/std/format.d:1342:        instantiated from here: formatUnsigned!(Appender!(string), char)
/usr/include/d/4.8/std/format.d:1316:        instantiated from here: formatIntegral!(Appender!(string), ulong, char)
/usr/include/d/4.8/std/conv.d:100:        ... (7 instantiations, -v to show) ...
/usr/include/d/4.8/std/stdio.d:1827:        instantiated from here: writefln!(char, )
test.d:7:        instantiated from here: writefln!(string)
October 10, 2013
On 10 October 2013 15:31, Gary Willoughby <dev@nomad.so> wrote:
> Using Debian7, gcc-4.8, gdc-4.8 from the `testing main` debian source.
>
>         import std.stdio;
>         import std.process;
>
>         void main()
>         {
>                 string x = executeShell("uname").output;
>                 writefln(x);
>         }
>
> $ gdc test.d -o test
>
> test.d:6: Error: undefined identifier executeShell
> /usr/include/d/4.8/std/range.d:611: Error: static assert  "Cannot put a
> char[] into a Appender!(string)"
> /usr/include/d/4.8/std/format.d:1440:        instantiated from here:
> put!(Appender!(string), char[])
> /usr/include/d/4.8/std/format.d:1342:        instantiated from here:
> formatUnsigned!(Appender!(string), char)
> /usr/include/d/4.8/std/format.d:1316:        instantiated from here:
> formatIntegral!(Appender!(string), ulong, char)
> /usr/include/d/4.8/std/conv.d:100:        ... (7 instantiations, -v to show)
> ...
> /usr/include/d/4.8/std/stdio.d:1827:        instantiated from here:
> writefln!(char, )
> test.d:7:        instantiated from here: writefln!(string)


executeShell wasn't implemented in the phobos release at the time those packages were created.


Regards
-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';
October 10, 2013
On Thursday, 10 October 2013 at 14:59:05 UTC, Iain Buclaw wrote:
> ...

That reminds me - is there a gdc flag that makes it print used D front-end version?
October 10, 2013
On 10 October 2013 16:13, Dicebot <public@dicebot.lv> wrote:
> On Thursday, 10 October 2013 at 14:59:05 UTC, Iain Buclaw wrote:
>>
>> ...
>
>
> That reminds me - is there a gdc flag that makes it print used D front-end version?

pragma(msg, __VERSION__);


-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';
October 10, 2013
On Thursday, 10 October 2013 at 15:17:55 UTC, Iain Buclaw wrote:
> pragma(msg, __VERSION__);

Yeah, I mean without creating temporary file and compiling it ;) Not really big deal, but sounds quite trivial and will simplify some tooling.