mir.algebraic: Visitor cannot be called

Andre Pany andre at s-e-a-p.de
Thu Dec 10 07:49:52 UTC 2020


On Thursday, 10 December 2020 at 05:49:12 UTC, 9il wrote:
> On Wednesday, 9 December 2020 at 14:34:18 UTC, Andre Pany wrote:
>> [...]
>
> For .member access mir.algebraic checks at compile time that 
> all underlying types (except typeof(null)) can be called with 
> provided arguments. It is kind of API protection.
>
> Alternatives:
>
> With compile-time known type
> ```
> v.get!A.foo(3); // will throw if it isn't A
> v.trustedGet!A.foo(3); // will assert if it isn't A
> ```
>
> Without compile-time known type
> ```
> v.tryGetMember!"foo"(3); // will throw if it isn't A
> v.optionalGetMember!"foo"(3); // will return null Nullable!void 
> of it isn't A
> ```
>
> tryGetMember and optionalGetMember are alternative visitor 
> handlers in mir.algebraic.
>
> Kind regards,
> Ilya

Fantastic, thanks a lot!

Kind regards
André


More information about the Digitalmars-d-learn mailing list