DScanner 0.12.1 stopped working
Steven Schveighoffer
schveiguy at gmail.com
Tue Jul 5 19:03:03 UTC 2022
On 7/5/22 2:47 PM, Carsten Schlote wrote:
> On Tuesday, 5 July 2022 at 17:52:37 UTC, rikki cattermole wrote:
>>
>> "libdparse": ">=0.19.2 <1.0.0",
>> "dsymbol" : ">=0.13.0 <1.0.0",
>>
>> > Restrict to a certain minor version: "~>2.2.13", equivalent
>> to ">=2.2.13 <2.3.0"
>>
>> That sneaky < condition at the end is more broad than what ~> is.
>
> The current breaking change should bump the mayor number.
>
> The minor number should mark backward compatible changes.
>
> And the last digit should be bumped for all bugfixes, cleanups and other
> stuff, which does NOT change the API at all (except of fixing it).
>
> But even when we would use proper rules, it still depends on properly
> setting up the new SemVer tags for Dub modules. Any mistake on this will
> probaly break the code.
>
>
I don't know the context of how it's used, but changing allocators from
stdx.allocator to std.experimental.allocator might be considered by some
as not a breaking change.
D has a nasty habit of making everything a breaking change, because
introspection is so good. So you have to draw the line somewhere. I
haven't looked in depth at it, but if dscanner is using things that are
implementation details, there is an argument to say that dscanner is the
one that strayed from the public API.
But like I said, it can be fixed by making stdx.allocator an optional
dependency of libdparse.
-Steve
More information about the Digitalmars-d
mailing list