以下のようにlate_checkブロックを書くことにより
コンセプトでのチェックはしないようにできる(現行のテンプレートのコード生成時のチェック)
concept Semigroup<typename T> { T::T(const T&); T operator+(T, T); } concept_map Semigroup<int> { int operator+(int lhs, int rhs) { return x + y }; } template <Semigroup T> T add(T lhs, T rhs) { x + y; // Semigroup<T>::operator+でのコンセプトチェック late_check { x + y; // class Tのoperator+でのチェック } }