The forked elephant in the room
Walter Bright
newshound2 at digitalmars.com
Tue Jan 16 20:07:08 UTC 2024
In general, we've been much more willing to accept PRs that we can back out of
if they don't turn out well.
For example, improvements to debug support, better code generation, stdatomic.d,
fixing bugs, adding statistics to dmd's output, things like that.
Language changes, though, have a much higher bar. The risk there is people rely
on it, and then we're stuck with it forever.
For example, `alias this` for classes. The semantics of it were never defined
properly, and with many attempts at figuring what the correct semantics must be,
never found one that anybody could defend. Worse, many people were using it for
classes, and and relied on whatever the compiler did for it.
Hence, we did not want to deprecated it. Instead, we froze its current behavior,
and I opposed any further additions to it and/or attempts to fix it. All I can
do is just recommend people not use `alias this` in classes.
Rikki's proposal to do UAX31 identifiers I was initially opposed to, but upon
reflection realized there was more risk in not doing it than doing it, and so
full speed ahead, Rikki!
More information about the Digitalmars-d
mailing list