On Friday, 24 March 2023 at 09:59:47 UTC, Alexander Zhirov wrote:
On Friday, 24 March 2023 at 09:46:26 UTC, Jacob Shtokolov wrote:
BTW, you can also `alias this` your struct value and then use `std.conv : to` for casting, if you don't need specific casting rules.

I don't quite understand what you mean? Could you show me an example?

I mean, it would be the same code except that you don't define any `opCast` or other operators for a struct, just alias the value to `this` and use `std.conv : to` directly as follows:

```d
struct MyVal
{
    string value;
    alias value this;
}

void main()
{
    import std.stdio;
    import std.conv;

    auto a = MyVal("100");
    auto b = MyVal("11.2");

    auto MyInt = a.to!int;
    auto myFloat = b.to!float;

    writeln(MyInt, ", ", myFloat);
}
```

Reply via email to