Destroy two assumptions: interface implementation generated by TMP
John Colvin via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Tue Aug 12 05:08:12 PDT 2014
On Tuesday, 12 August 2014 at 11:34:01 UTC, anonymous wrote:
> On Monday, 11 August 2014 at 18:21:04 UTC, Baz wrote:
>> interface itf{
>> void a_int(int p);
>> void a_uint(uint p);
>> }
> [...]
>> // FAILS because: alias are probably generated after the itf
>> check
>> class impl3: itf{
>> void tmp(T)(T p){};
>> alias a_int = tmp!int;
>> alias a_uint = tmp!uint;
>> }
> [...]
>> 'Error: class itfgen.impl3 interface function 'void a_int(int
>> p)' is not implemented'.
>
> I think the problem is that impl3.tmp is not virtual because
> it's
> a template, and interfaces need to be implemented by virtual
> methods.
The instantiations of the template are just normal functions
though, no?
More information about the Digitalmars-d-learn
mailing list