Paolo Bonzini <pbonz...@redhat.com> writes:

> On 14/12/2016 14:48, Eduardo Habkost wrote:
>>> How do you find all abstract TypeInfo in the source?  The uninitiated
>>> might grep for .abstract = true, and be misled.  The initiated will be
>>> annoyed instead, because grepping for *absence* of .instance_size = is
>>> bothersome.
>>>
>>> I suspect life could be easier going forward if we instead required
>>> .abstract = true for interfaces, and enforced it with
>>> assert(ti->instance_size || ti->abstract) here.
>> I was doing that before deciding to change type_initialize(). I
>> think I still have the commit in my git reflog, I will recover it
>> and submit it as v3.
>
> I think it's worse.
>
> Interfaces are abstract by definition.  Requiring ".abstract = true"
> makes things less intuitive.  v2 seems good.

What makes a TypeInfo declaration an interface?  Whatever it is, it
better be *locally* obvious.

Reply via email to