On Monday, 26 October 2020 at 11:48:48 UTC, Simen Kjærås wrote:
This makes sense if you consider that the user of the interface
has no knowledge of the types that implement it, and vice
versa: the implementing class has no idea which instantiations
to make, and the user has no idea which implementing classes to
create instantiations for. Templates require that the user have
full knowledge of the templates to be instantiated.
There are some workarounds of sorts, but they depend heavily on
what you're trying to achieve. Can you use an array of
std.variant.Variant, for instance?
--
Simen
Yes, the user/coder does not know of other types by any chance.
The interface must be used.
Well I guess I let the interface do the variadic stuff and pass
the argument as Variant[] to the wrapper in a new interface
method. Thanks.