Compiler Bug

Basile B. b2.temp at gmx.com
Tue Apr 2 13:21:46 UTC 2019


On Tuesday, 2 April 2019 at 12:35:18 UTC, Alex wrote:
> Comes from doing foo!(Alias!([AliasSeq!(A,B,C)])) or just 
> foo!(AliasSeq!(A,B,C)) when trying to pass a type for A, 
> removing A works. A is a template parameter from another 
> template.
>
> Shouldn't the errors give line numbers and source code where 
> the error occcured rather than a bunch of rather useless 
> information? I realize it is a fault but if it can spit out 
> that info maybe it should keep track source code(the compilers).

You need to use the debug build of the compiler to get the back 
trace with the stack of calls and their respective location the 
compiler source files. This build must be done by yourself.

If you don't want to open an issue in the bugtracker please at 
least provide a simple example that reproduce the crash. Also try 
to see if the crash still happens with the latest compiler 
version (beta 2.085.1 includes a dozen of compiler bugs leading 
to crashes fixed)

It's also a good idea to check the test case here 
https://run.dlang.io/is/DA3AnV, with the option to test with all 
the DMD versions.

Here the bug ultimately ends with an AV so there's chances that 
it's easy to fix, i.e just an unsafe access to check. If 
run.dlang.io indicates that it used to work than the history 
(a.k.a 'the git blame') could help a bit too.


More information about the Digitalmars-d mailing list