On 25/04/2024 08:40, Stephen Reay wrote:
If you're on X.y and it says it was deprecated in X.w you know you don't need to worry about it being removed until at least Y.a.
Yeah, that's the reasoning given in the Rust discussion, but I don't find it convincing.
If the project's deprecation policy is that deprecations will be removed in the next major version, the information is redundant: if you get the deprecation message in 2.x, you know it will be removed in 3.0
If the project has some other deprecation policy, like "after 1 full major version cycle", then you can work out that "since: 2.3" means removal in 4.0; but the person adding the attribute also knows that, and could save the reader some effort by writing "planned removal: 4.0"
If the project has no clear deprecation policy, the information is useless anyway.
If you wanted it to be clearer I'd suggest maybe rename "since" to "version", but that's more to give a hint at intended use than anything.
I don't think there's anything *unclear* about "since", I just don't think it's very *useful*. But apparently it's common to write it, so I guess I'm in the minority.
Naming it "version" would just make it less clear, and not resolve anything from my point of view.
Regards, -- Rowan Tommins [IMSoP]