D Compiler Bug?

Bottled Gin Gin at Bottle.corked
Thu Jan 31 17:31:22 UTC 2019


On Thursday, 31 January 2019 at 09:41:42 UTC, FeepingCreature 
wrote:
> What an amazing issue! I'm in love!
>
> I've given you a PR to reduce the test further. The issue is 
> related to the circular import between foo and qux, and the 
> fact that qux forces foo to do ~something~ with its vtable to 
> enable its use in the hashmap.

Thanks, I merged in your PR.

I managed to minimize another issue which I believe could be 
related. This time it is a compile time error which occurs only 
when compiling separately. Compiling the modules together does 
not result in Error.

$ git clone https://github.com/dsnippet/circular.git
$ cd circular
$ ldc2 -c foo.d

With LDC-1.14-beta1, I get:

fred.d(4): Error: function void fred.qux!(bar).qux.thunk() does 
not override any function, did you mean to override void 
foo.foo.thunk()?
fred.d(7): Error: template instance `fred.qux!(bar)` error 
instantiating



More information about the Digitalmars-d mailing list