That is a bug in the compiler. The compiler should never copy the return of a stack variable or parameter - it should just bitblt them. That's not an optimization, it's a language definition thing.

Andrei

Don Clugston wrote:
Yes, there's a second bug in std.container. The copy constructor gets
called erroneously. I didn't track that one down.

On 6 August 2010 17:21, SHOO <[email protected]> wrote:
I noticed the bug of the test, too. (But, I didn't analyze it deeply.)

In Windows (Vista), unittest reports an error:

------------------------
make -f win32.mak unittest
...
[email protected](1262): Assertion failure
------------------------

And, cov option doesn't work.

------------------------
make -f win32.mak cov
...
Error 42: Symbol Undefined _D3std9intrinsic12__ModuleInfoZ
------------------------

Is there a person in whom the same problem as me happens?

2010/8/6 Don Clugston <[email protected]>:
conv.d, in the parse function for floating point numbers:
Target parse(Target, Source)(ref Source p) if (isInputRange!Source &&
/*!isSomeString!Source && */isFloatingPoint!Target)

The offending line is line 1360:
enforce(anydigits);

This is wrong; it should be throwing ConvError. This makes the
unittests in line 2257, 2312, 2380 fail.

In fact, most of the other uses of enforce() in this function should
probably be throwing a ConvError.
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos

_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos

_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos

Reply via email to