Rémi Bernon (@rbernon) commented about tools/widl/typetree.c:
runtimeclass->attrs = check_runtimeclass_attrs(runtimeclass->name, attrs); runtimeclass->details.runtimeclass.ifaces = ifaces; define_type(runtimeclass, where);
- if (!type_runtimeclass_get_default_iface(runtimeclass, FALSE) &&
!get_attrp(runtimeclass->attrs, ATTR_STATIC))
error_loc("runtimeclass %s must have a default interface or static factory\n", runtimeclass->name);
This might not be the right place to check for it but midl definitely emits an error for such cases, and it should be moved where appropriate, not removed.