A common practice to speed up compilation is to only declare classes instead of giving their full definitions, e.g.
struct A;
template<typename T> struct B;
using C = B<A>;
By if one likes to use C++20 concepts in template classes then the code as follows
#include <concepts>
struct A;
template<std::destructible T> struct B;
using C = B<A>;
will result in error:
error: template constraint failure for 'template<class T> requires destructible<T> struct B'
| using C = B<A>;
Is it possible to somehow delay the moment of concept checking till B<A> is really used/instantiated? If not, then it seems that concepts will significantly slow down compilation of some programs by forcing to include class definitions which were previously hidden.