[Development] How to port from Q_FOREACH to range-based for
André Pönitz
apoenitz at t-online.de
Thu Jun 20 20:24:59 CEST 2019
On Thu, Jun 20, 2019 at 08:44:40AM +0000, Frederik Gladhorn wrote:
> On tirsdag 11. juni 2019 09:48:00 CEST Lars Knoll wrote:
> > > On 11 Jun 2019, at 09:35, Olivier Goffart <olivier at woboq.com> wrote:
> > >
> > > On 11.06.19 09:17, Lars Knoll wrote:
> > >
> > >> So, is removing it worth all the hassle to us and our users? Q_FOREACH is
> > >> a macro and it doesn’t really cost us anything to keep it around. Yes,
> > >> it has issues with non Qt containers and I wouldn’t recommend it for any
> > >> new code. But maybe we could simply fix that part, but making Q_FOREACH
> > >> emit a compiler warning if used on a container that’s not implicitly
> > >> shared?
> >
> > >
> > > +1
> > > Although we should probably still discourage its usage in the
> > > documentation.
>
> > > Regarding the compiler warning:
> > >
> > > https://codereview.qt-project.org/c/qt/qtbase/+/244010
> > >
> > >
> >
> >
> > Nice. So doesn’t this solve most of the issues we have with Q_FOREACH (maybe
> > with the exception that some people find macros ugly)?
>
> Yes, I'd also be happy about changes to the docs,
Yes,
> let's really not encourage new uses of foreach. But I think we'd do
> ourselves and especially our users a disfavor by deprecating it.
Yes, and yes.
> I have seen enough bugs introduced by people fixing deprecation warnings
> blindly,
Yes.
> and there seem to be so many issues when it comes to foreach that I
> think it's simply not worth it.
And yes.
> Frederik
>
> (I hope q_foreach continues its long career in the shade, relaxing and slowly
> fading from public memory...)
And yes.
And now something feels odd. But I think I can get used to that.
Andre'
More information about the Development
mailing list