On Friday, 10 February 2017 at 04:02:17 UTC, Era Scarecrow wrote:
On Friday, 10 February 2017 at 02:53:50 UTC, Era Scarecrow
wrote:
Seems the built in Date class wasn't the same as the Sql.Date
that was being used (but had the same name). Apparently it
took like 2 hours to figure out what was going on.
Oh right forgot to mention one important detail. In Java the
program compiled without errors; It was when it was trying to
be used that it would crash unexpectedly. Refusing to compile
is slightly better than crashing unexpectedly later.
I saw it happen with D as well: everything compiles, everything is
fine, and suddenly segfault. The issue was caused by template
argument, two
modules with the same name, but from different packages (think
`myalib.blah.morebla.foo` and `myblib.blah.morebla.foo`) and a
cast
somewhere in the middle of the callstack which casted the first
template argument to the second one, where the `myalib`'s foo was
casted to `myblib`'s interface.
Worse of all, `myalib` and `myblib` were just mentioned in the
imports,
far away from the call site.