How to convert this code: (is(ToString(t))
wobbles via Digitalmars-d
digitalmars-d at puremagic.com
Sun May 8 14:57:57 PDT 2016
On Sunday, 8 May 2016 at 18:55:58 UTC, Pablo wrote:
> This is part of the old dparse.d file:
>
> private import std.string : ToString = toString ;
>
> char[] string()
> {
> static if(str)
> {
> static if(is(T == char[]))
> return t;
> else static if(is(ToString(t)))
> return ToString(t);
> else
> return "<<"~T.stringof~">>";
> }
> else
> return "<<"~T.stringof~">>";
> }
>
> I have a problem with this part: (is(ToString(t)) :
> dparse.d(215): Error: function declaration without return type.
> (Note that constructors are always named 'this')
>
> How to fix this code?
>
> Regards
> Pawel
I think (THINK!!) you could use __traits(compiles, ToString(t))
in place of the is(ToString(t)).
Unless all objects have an implicit toString? In which case it
will always return true and be a useless check.
On the phone and couldn't check properly...
More information about the Digitalmars-d
mailing list