#include #include struct Incompatible_Constraint { int value{}; }; int main() { auto only_string = structive::constraint<"string_only">([](const std::string&) { return true; }); auto schema = structive::object(structive::field<&Incompatible_Constraint::value>(structive::key<"value">, only_string)); return static_cast(schema.property_count); }