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.