D has become unbearable and it needs to stop

Steven Schveighoffer schveiguy at gmail.com
Thu Jun 8 15:00:04 UTC 2023


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


More information about the Digitalmars-d mailing list