On Fri, Feb 21, 2020 at 08:40:23AM +0000, Alex Blasche wrote: > > -----Original Message----- From: Kai Köhne > > > Another alternative is to actually use C++ attributes for this: > > > > [[qt::emit]] somethingChanged(); > > I think a fallback to > > somethingChanged() > > without any annotation is not what we want. We'd miss vital > information and reduce readability. Having said that I hate Q_EMIT > even more. It just is ugly as hell. Therefore, I am very glad about > Kai's suggestion. Personally, I don't think we need an extra namespace > after all what are the odds to have a clash here 😉 but.... that's > details.
One could have a convention to add an emit_* inline function, i.e. class Foo : public QObject { Q_OBJECT ... void emit_somethingChanged(); signals: void somethingChanged() }; That would require only one character to change on the user side, instead of ... emit somethingChanged() ... it would be ... emit_somethingChanged() ... Also, the use of the emit_-prefixed version would be optional as before, just using 'somethingChanged()' is possible for those who prefer that style. > Last but not least, I don't see why we'd want to disable all other > keywords when only one of them has a clash. If the current macro > enforces this then we should differentiate more. Let's not be too > hasty when there is no need. I fully agree. Andre' _______________________________________________ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development