On Friday, 20 January 2023 at 11:28:23 UTC, thebluepandabear
wrote:
Hi,
In Java/C# you can create purely static classes.
These are classes whose methods are all static, the classes
cannot be derived from or instantiated:
```
static class Algo {
void drawLine(Canvas c, Pos from, Pos to) { ...... };
}
```
There are 2 solutions for that. One involved doing a private
implementation:
```d
module drawer.impl;
void drawLine(...)
```
Then, you create another file:
```d
module drawer;
public import Algo = drawer.impl;
```
After that, you can use it as `Algo.drawLine`.
With a single file, you can do:
```d
final class Algo
{
@disable this();
static:
void drawLine(...){}
}
```