@@ -173,7 +173,7 @@ concept Visitable = Adapter<A> && requires(V & v, E const & c, A const & doc, B
};
template <typename T, typename S>
-concept Not = not std::is_convertible_v<std::decay_t<S>, T>;
+concept Not = not std::is_same_v<std::decay_t<T>, std::decay_t<S>>;
}
namespace jvalidate {
@@ -210,6 +210,7 @@ public:
* into an Adapter object to allow us to walk through it w/o specialization.
*/
template <typename JSON, typename... Args>
+ requires(not Adapter<JSON>)
explicit Schema(JSON const & json, Args &&... args)
: Schema(adapter::AdapterFor<JSON const>(json), std::forward<Args>(args)...) {}