Hi,

I want to port some Python coding and try have as much similiar coding as
possible.

I thought I can have a mir variant which stores either class A or B
and I can call at runtime a method like this:

```
/+ dub.sdl:
        name "app"
        dependency "mir-core" version="1.1.51"
+/

import std.stdio: writeln;
import mir.algebraic;

class A {
        void foo(int i){writeln("A.foo");}
}

class B {
        void foo(int i, string s){writeln("B.foo");}
}

void main() {
        Variant!(A,B) v = new A();
        v.foo(3);
}
```

But it fails with:
Error: static assert: "Algebraic!(A, B): the visitor cann't be caled with arguments (B, int)"

The error message seems strange. Is the behavior I want somehow possible? (At runtime I know whether I have an object of A or B and will only call
with the correct method signature).

Kind regards
André

Reply via email to