On Sunday, 5 February 2023 at 10:51:51 UTC, thebluepandabear
wrote:
{
@disable this();
static this()
{
Message = "Hello!";
}
static:
string Message;
void drawLine() {};
}
It's not a terrible workaround to be honest.
`static class` does have a use when it's nested, so it might
create some conflicts if such a feature (like C# `static
class`) were added.
Due to the mindset of the current maintainers of the language,
I doubt we will see such a thing. Maybe in 10-20 years
something will change and the language will add a static class
or namespace feature, for now we'll have to deal with modules
or using your way of creating a `static class`.
I don't like it when people see modules as a replacement for a
namespace/static class, when that's not the case.
Rust has modules. It also has namespaces.
C++ will be getting modules, it also has namespaces.
When dealing with contexts, or for when you want a clear context
in your codebase, namespaces can be a life saver, we've seen it
used in the D library, so there's no excuse for why this
shouldn't be added, in my opinion.