On 9/7/18 7:59 AM, Orfeo wrote:
On Friday, 7 September 2018 at 14:36:18 UTC, rikki cattermole wrote:
On 08/09/2018 2:29 AM, Orfeo wrote:
==> And why (maybe a silly question) `-dip1000` breaks my project so
badly without warning..
DIP 1000 is an experimental addition to D, that is yet to be complete.
It is a compiler switch for a reason, it isn't ready for usage, only
some experimentation.
Thank you very much...
I agree with you, but if someone adds `dip1000` in a library and I link
it, my project inherits this setting.
What do you think? is it correct? Some suggestions to avoid it?
The sub-project is being compiled with dip1000. I don't know what the
rules are for dip1000 and dub, but it's likely the flags are propagated.
One of the main drawbacks of dip1000 is that if you don't have it
enabled on ALL projects, you will likely run into linker errors. It's
like compiling 2 libraries with different versions and expecting them to
link. It's probably the reason dub forwards the switches.
Separately, if dmd is failing with signal 11 (SEGFAULT), this is a
compiler bug. The compiler should never segfault.
At this point, it's hard to tell from what you have given what may cause
the error. But maybe if your project is open source, you can file a bug
with the link to the project? Or if you can narrow down the code in your
project to a minimum that causes the error, it can be diagnosed further.
-Steve