[Issue 5500] Appender.put causes an invariant violation in struct with overloaded opAssign

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sat Jan 29 18:05:59 PST 2011


http://d.puremagic.com/issues/show_bug.cgi?id=5500


Jonathan M Davis <jmdavisProg at gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jmdavisProg at gmx.com


--- Comment #3 from Jonathan M Davis <jmdavisProg at gmx.com> 2011-01-29 18:03:45 PST ---
I'm not getting this to happen with dmd 2.051 on Arch Linux either (Phobos and
druntime are from git). However, if I use the example that you originally gave
on D.learn:

import std.array, std.datetime;

unittest {
     auto app = appender!(Interval!Date[]);
     auto interval = Interval!Date(Date(2000, 1, 1), Date(2011, 2, 3));
     app.put(interval);
     // Error: datetime.d(20208): Invariant Failure: begin is not before 
or equal to end.
}

it happens some of the time but not all of the time. So, whatever the bug is
exactly, it's non-deterministic, and it may easily get affected by the OS that
you're on. It may be that some slight tweaks would make it pop up on boxes
which currently can't reproduce it. I'm convinced that there is a bug here, but
it's non-deterministic enough, that depending on the code and the machine, it
could either be reproduced easily or only with difficulty.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list