Hi Hubert,
> At this time, I have been working on Concepts in Clang.
Ah, great to know!
> I am not sure how
> "people" are using concepts in GCC, but my experience on unit testing
> produced a number of internal compiler errors
Up until now it has worked ok for me, but I have mostly used rather
basic concepts and only mild "specialization" of concepts.
> (and I have not found the error messages to be helpful in general).
True, but that's something where clang had to lead the way before, too,
or not? 
> Some cases of those internal
> compiler errors stem from the cases being underspecified in the TS.
>
Haven't had any of those because of concepts, yet.
> I am not sure an ETA makes sense if the shape of what is going to be
> delivered is changing. For example, the TS has a one-size-fits-all
> normalization process which can be overly eager; part of the Clang
> implementation effort would be to implement (in consultation with the
> committee) the intended behaviour for each of the uses of normalization.
TBH honest I have no real clue of the scope of implementing the TS fully
in Clang (or what the current progress is) so I am not *suggesting*
anything, but maybe if there was a preliminary usable release in Clang
it would get in more testers and help diagnose issues and corner cases?
I thought this was what the committee wanted and why so many things
didn't make it into C++17, i.e. getting people to use TSes early so that
issues can be found and solved before integration into the proper
standard...
Then again, maybe you already know the rough edges well and would rather
figure them out first?
I'm hoping that the roughest of the edges in what the TS is would be
smoothed out before too much effort is spent on things which do not
translate (in terms of reusability or implementation/usage experience) to
later versions.
In some cases, like with concept definitions being also variable or
function templates, extra baggage comes from the existing parts of the
language.
The goal, of course, is to have something available for feedback so that we
know if the decisions made are ones which work for users.
The take away from that though, is that early adopters are, in a sense,
beta testing.
My inclination for writing concepts code (for use, not testing) right now
would be to use function concepts only, limit overloading concept names,
avoid abbreviated function template syntax, and avoid template
introductions.
I would also be very conservative in how I form constraints which are
intended to be "more specific" or "more general" than other constraints.
As for the Clang implementation, we have (at least a sketch of) a plan, but
no idea how difficult it is to execute.
I think there is at least one feature missing from the current TS which is
needed: a way to refer to template parameters which are being specialized
in a specialization.