DScanner 0.12.1 stopped working

Steven Schveighoffer schveiguy at gmail.com
Tue Jul 5 15:22:57 UTC 2022


On 7/5/22 8:09 AM, RazvanN wrote:
> On Tuesday, 5 July 2022 at 09:53:29 UTC, Carsten Schlote wrote:
>> On Tuesday, 5 July 2022 at 08:30:29 UTC, Paolo Invernizzi wrote:
>>>    [...]
>>
>> Thanks alot. Exactly what is needed.
>>
>> I changed my dub.selection file to your setup, and DScanner nicely 
>> compiled. This is, what I had to change:
>>
>> ```
>> $ diff  dub.selections.json dub.selections.json~
>> 4c4
>> <         "dsymbol": "0.13.0",
>> ---
>>> [...]
>> 8c8
>> <         "libdparse": "0.19.1",
>> ---
>>> [...]
>> ```
>> So, either dsymbol or libdparse did some incompatible change, despite 
>> the fact that the version number (SemVer?) just bumped the build 
>> number, but neither Majaor/Minor numbers.
>>
>> Later I will work out, which of the two modules is causing the 
>> problem. Maybe this helps to track down the reason for this problem.
> 
> It's probably libdparse since dsymbol depends on it. It's probably this 
> PR that did it: https://github.com/dlang-community/libdparse/pull/463

The problem is that dscanner uses stdx.allocator, but libdparse was 
switched to using std.experimental.allocator in that PR.

The result is that you can't pass an allocator from one lib to the 
other, because they are from different modules.

There is a way to fix this: change libdparse to use stdx.allocator when 
some other project has included it (this can be done with an optional 
dependency specification).

-Steve


More information about the Digitalmars-d mailing list