Hi,
thanks, it compiles now and the test cases seem to work. But trying it
in the larger context where it happened first, I'm running into more
problems with the latest phobos. But these are probably unrelated...
Rainer
Steve Schveighoffer wrote:
I realized that I broke this right away and fixed it, but I forgot to check in.
Try again now:
http://www.dsource.org/projects/phobos/changeset/1934
-Steve
----- Original Message ----
From: Rainer Schuetze <[email protected]>
Hi Andrei,
I think Walter has just committed a fix for this. See
http://d.puremagic.com/issues/show_bug.cgi?id=4302
I could not verify it yet, because the current dmd/phobos combination
causes an error for me
std\xml.d(373): Error: cannot implicitly convert expression
(result.data()) of type string to char[]
std\xml.d(1148): Error: template instance std.xml.encode!(char[]) error
instantiating
This seems to have to crept in with the recent Appender changes.
Rainer
Andrei Alexandrescu wrote:
Hello Rainer,
Catching up with my email backlog. Was there a fix on this issue?
Andrei
On 6/11/10 11:30 PDT, Rainer Schuetze wrote:
Hi,
I've tried to untangle the startsWith code, and here's the minimal test
case I could come up with so far:
///////////////////////
template binaryFunImpl(bool b)
{
template Body()
{
static assert(b);
alias bool BodyType;
}
alias Body!().BodyType ReturnType; // line 9
}
uint startsWith(A)(A a) if (is(binaryFunImpl!(true ).ReturnType)) {
return 1; }
uint startsWith(A)(A a) if (is(binaryFunImpl!(false).ReturnType)) {
return 0; } // line 13
const uint var = startsWith(1);
///////////////////////
dmd produces:
test.d(6): Error: static assert (b) is false
test.d(9): instantiated from here: Body!()
test.d(13): instantiated from here: binaryFunImpl!(false)
The error does not show up if var is not const. Also, dmd 2.032 to 2.045
do not produce this error (2.046 fails), so it must be some compiler
regression.
As it seems, the compile time evaluation of startsWith uses the wrong
specialization. Maybe, it is just not gagging error output?
Any other ideas? I have not yet dived too deep into the template code of
the compiler, but if nobody has a better clue (and time), I can give it
a try.
Rainer
Andrei Alexandrescu wrote:
Thanks. It may take a while before I can tend to this. Could someone
else look at it?
Andrei
On 06/10/2010 12:53 PM, Rainer Schuetze wrote:
Sorry, but it still doesn't work. The error occurs when the expression
is evaluated at compile time, so the code added to the unittest
does not
cover the issue.
Rainer
Andrei Alexandrescu wrote:
Apologies. svn up should fix it, and bring some more goodies too :o).
Andrei
On 06/10/2010 10:14 AM, Don Clugston wrote:
const bool fails = startsWith("ab", "a");
_______________________________________________
dmd-beta mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-beta
; _______________________________________________
dmd-beta mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-beta
_______________________________________________
dmd-beta mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-beta
_______________________________________________
dmd-beta mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-beta
_______________________________________________
dmd-beta mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-beta
_______________________________________________
dmd-beta mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-beta
_______________________________________________
dmd-beta mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-beta