digitalmars.D - How to convert this code: (is(ToString(t))
- Pablo (22/22) May 08 2016 This is part of the old dparse.d file:
- wobbles (6/28) May 08 2016 I think (THINK!!) you could use __traits(compiles, ToString(t))
- Peter =?UTF-8?B?SMOkZ2dtYW4=?= (3/25) May 08 2016 You must replace with
- Pablo (3/33) May 08 2016 Thanks!
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
May 08 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...
May 08 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
You must replace with
"static if (is(typeof(to!string(t))));"
May 08 2016
On Sunday, 8 May 2016 at 22:34:34 UTC, Peter Häggman wrote:On Sunday, 8 May 2016 at 18:55:58 UTC, Pablo wrote:Thanks! PawelThis 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 PawelYou must replace with "static if (is(typeof(to!string(t))));"
May 08 2016









wobbles <grogan.colin gmail.com> 