On 6/8/23 10:33 AM, GrimMaple wrote:
I agree some of these are questionable. We shouldn't be doing this much breakage. And thanks for giving specific examples.
> 2.104 deprecated ref in
, this changes function signatures (Adam was particularly displeased with having to push breaking changes).
This is pretty stupid actually. Why are we doing this? Just ignore ref
when doing ref in
. preview in is supposed to treat in
as implicitly ref
.
> 2.103 deprecated alias this
on classes, which resulted in complete code breakage. This lad https://github.com/FreeSlave/icontheme/issues/2 even refused to do anything about it.
I haven't experienced problems with this, but it doesn't seem sound to me, without a valid replacement. I've seen a lot of complains about this on discord.
> 2.102 deprecated __traits(getAttributes)
. Somebody complained about this, but I can't remember who exactly. Probably Adam again.
__traits(getAttributes)
was deprecated if called on an overload set. It still works otherwise.
In this case, __traits(getAttributes)
was wrong, so a bug is being fixed. How do we fix bugs like this without using deprecations and eventual removal?
> 2.101 removed std.xml
, which led to a significant rewrite of dlangui, which inevitably led to me leaving D (even though temporarily). And no, undeaD
maintainers refused to fix my problems: https://github.com/dlang/undeaD/pull/54 , https://github.com/buggins/dlangui/issues/643 (tl;dr undeaD doesn't work with GDC)
This one is an issue with GDC and obscure varargs usage. I filed a bug on it, found that the answer is, GDC just isn't going to do that. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108763
I have it in my backlog to fix undead: https://github.com/dlang/undeaD/issues/55
If someone else wants to do this, it should be pretty trivial! Just I don't have all the time in the world for these things.
-Steve