On Sunday, 30 December 2018 at 18:55:10 UTC, Ali Çehreli wrote:
On 12/30/2018 05:05 AM, 0xEAB wrote:

>> interface FooAdapter
>> {
>>     FooBundle!(Handle) createSome(Handle)();
>> }

Function templates cannot be virtual functions. One reason is the compiler cannot know how large the virtual function table should be, and the other one is it's just a template, not the real thing (i.e. not a function).

>> private class SomeAdapter : FooAdapter
>> {
>>     Bundle createSome()

SomeAdapter.createSome is a function unrelated to FooAdapter.createSome. Their only relationship is through "name hiding."

> - Does `SomeAdapter` even implement `FooAdapter` correctly?

Yes because FooAdapter has no virtual function. :p

>   ~ Elias

Ali

Thanks for the technical explanation.
  ~ Elias

Reply via email to