D equivalent to Rust or Scala's Optional and Result and best practice ?

dangbinghoo dangbinghoo at gmail.com
Tue Oct 19 01:26:31 UTC 2021


On Tuesday, 19 October 2021 at 00:01:47 UTC, James Blachly wrote:
> On 10/18/21 12:03 PM, dangbinghoo wrote:
>> [...]
>
> Not quite the same as tagged algebraic union ("sum type" == 
> Rust enum) are not (yet?) a language feature.
>
> That being said, I recently integrated mir's Algebraic and 
> Nullable into a project. Integration was pretty easy, and the 
> code was clear and easy to understand. That being said, the 
> terminology of "Some", "None", "Result" and "Err" in Rust are 
> yet easier to understand.
>
> http://mir-core.libmir.org/mir_algebraic.html
>
> Finally, in addition to `mir.algebraic`, `sumtype`, `Optional`, 
> and `Result` packages, I would add that Tchaloupka's `expected` 
> package looks great:
>
> https://code.dlang.org/packages/expected

thanks, all is great, but it's better if we have an article 
explaining how to combine these
for real-world project.


More information about the Digitalmars-d-learn mailing list