[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lmi] libstdc++ concept checks vs std::regex
From: |
Vadim Zeitlin |
Subject: |
Re: [lmi] libstdc++ concept checks vs std::regex |
Date: |
Tue, 17 May 2016 19:58:45 +0200 |
On Tue, 17 May 2016 15:54:50 +0000 Greg Chicares <address@hidden> wrote:
GC> On 2016-05-17 15:22, Vadim Zeitlin wrote:
GC> > On Tue, 17 May 2016 13:08:05 +0000 Greg Chicares <address@hidden> wrote:
GC> >
GC> > GC> Apparently we can either abandon libstdc++'s concept checks (which
GC> > GC> do have some value),
GC> >
GC> > Sorry, I hadn't even realized that we were using them until today, so I'm
GC> > not really qualified to judge how much value do they have. Out of
GC> > curiosity, have they ever helped you to find any problems so far?
GC>
GC> undefined reference to `non-virtual thunk to wxChoice::GetCount() const'
GC> http://lists.nongnu.org/archive/html/lmi/2007-03/msg00065.html
I don't think this one is actually due to concept checking...
GC> vector of an incomplete type (looks like the same problem in both messages)
GC> http://lists.nongnu.org/archive/html/lmi/2009-07/msg00012.html
GC> http://lists.nongnu.org/archive/html/lmi/2010-12/msg00002.html
This one is, but any modern compiler would fail to compile this code
without any extra flags anyhow.
The goal of C++1z concepts is to give more intelligible error messages,
but the code which compiles without them should also compile them and vice
versa. I'm less sure about the old libstdc++ concepts implementation, but I
think it was also meant to work in the same way, i.e. give better errors,
or at least give them sooner. And so I believe the difference in behaviour
with and without concept checks always was nothing more than a bug.
Regards,
VZ