-
Notifications
You must be signed in to change notification settings - Fork 7
Upgrade Core to 1c2f2011df7c37543265ad5d89153189b4649013
#902
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
🤖 Augment PR SummarySummary: Updates the vendored Sourcemeta Core dependency to Changes:
Technical Notes: This upgrade introduces observable output/API changes (canonical forms, parse callback signatures), so downstream tooling and tests need to stay aligned with the new Core semantics. 🤖 Was this summary useful? React with 👍 or 👎 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| } | ||
|
|
||
| auto transform(JSON &schema, const Result &) const -> void override { | ||
| schema.erase("anyOf"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Erasing anyOf because it has a true/{} branch can change evaluation/annotation behavior in newer drafts (e.g., unevaluatedProperties/unevaluatedItems depends on which applicators are present), even though the assertion outcome is unchanged. Consider constraining this rule to dialects/vocabularies where those semantics aren’t relevant (or explicitly documenting the intended tradeoff).
🤖 Was this useful? React with 👍 or 👎
| } | ||
|
|
||
| auto transform(JSON &schema, const Result &) const -> void override { | ||
| schema.assign("items", JSON{true}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding items: true is assertion-equivalent for many schemas, but it can affect evaluation semantics in drafts that support unevaluatedItems (items may become "evaluated" where they previously weren’t). Consider limiting this rule when the Unevaluated vocabulary is present, or clarifying the intended behavior for unevaluated-keyword consumers.
🤖 Was this useful? React with 👍 or 👎
| : public std::exception { | ||
| public: | ||
| SchemaKeywordError(const std::string_view keyword, | ||
| const std::string_view value, const char *message) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Signed-off-by: Juan Cruz Viotti jv@jviotti.com