Windows build error: cannot implicitly convert expression
tekord opened this issue ยท 4 comments
Hi! I am noobie in D, interested in it and tried to build dlangide. I use Window 8.1 x64, installed latest DMD (rdmd build 20190210, reference compiler) and tried to build dlang as instruction said: clone the repo, run dub run
. If see any build errors then run dub clean-caches
...
But I got the same result:
# dub build --force
Running pre-generate commands for dcd...
Performing "debug" build using D:\Dlang\dmd2\windows\bin\dmd.exe for x86.
stdx-allocator 2.77.5: building configuration "library"...
emsi_containers 0.8.0-alpha.12: building configuration "library"...
libdparse 0.9.10: building configuration "library"...
dsymbol 0.4.8: building configuration "library"...
C:\Users\Tekord\AppData\Local\dub\packages\emsi_containers-0.8.0-alpha.12\emsi_containers\src\containers\unrolledlist.d(568,29): **Error: cannot implicitly convert expression ~this.registry of type const(ulong) to immutable(uint)**
D:\Dlang\dmd2\windows\bin\dmd.exe failed with exit code 1.
Any ideas?
This is a known error and a solution has been offered to the emsi-container developers. I had this some problem. If you go to emsi-containers git page and click on the pull request tab you will see the solution. If it has been committed already look for it on the closed pull request tab. You can make the small change to your local copy of unrolledlist.d or wait for the lib maintainer to release the next version probably version 0.8.0-alpha13 when it should be fixed.
The pull request you're referring to has been closed by the person who opened it, and was not merged.
Since the pr was closed and the branch deleted, here is the link to the code change that works if you want to manually update: dlang-community/containers@4b9d456
I just checked the emsi-containers github page and the necessary change has been approved and merged into version 0.8.0-alpha.13. However, the library that has a dependency for emsi-containers has not updated the dependency version in there dub.json file. But you can update the dependency in your local repository.