[Development] A modest proposal: disable lower-case keywords (emit, foreach, forever, signals, slots) by default

Konstantin Tokarev annulen at yandex.ru
Fri Feb 28 19:37:14 CET 2020



28.02.2020, 21:34, "Thiago Macieira" <thiago.macieira at intel.com>:
> On Friday, 28 February 2020 07:28:34 PST Matthew Woehlke wrote:
>>  If we had to do it over again, it might make sense to follow Python and
>>  make signals *objects* instead of *methods*. Then the code would look like:
>>
>>    this->emptied.emit(...);
>
> Binary compatibility issue: if it's a member of the class, it can't be added
> or removed without changing the class's size and layout, so it would tie our
> hands for future improvements.
>
> You'd see instead:
>
>     this->emptied().emit(...);
>     connect(foo, foo->emptied(), ...);

I think it could be a static member as well - there is no real reason for such member
to be per-instance in the first place.

-- 
Regards,
Konstantin



More information about the Development mailing list