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.

Reply via email to