Upgrade Core and Blaze to the latest versions#645
Conversation
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
🤖 Augment PR SummarySummary: Updates the vendored Changes:
Technical Notes: The main functional change is that “reachability” (and thus compilation planning / transforms that rely on it) is now evaluated from a specific base/entrypoint instead of being implicitly global. 🤖 Was this summary useful? React with 👍 or 👎 |
|
|
||
| for (const auto &entry : this->locations_) { | ||
| if (needed_pointers.contains(entry.second.pointer)) { | ||
| this->pointer_to_location_[std::cref(entry.second.pointer)].push_back( |
There was a problem hiding this comment.
populate_reachability mutates pointer_to_location_ directly, which can leave it only partially populated if this is the first API that touches the frame. Since populate_pointer_to_location() stops once pointer_to_location_ is non-empty, later traverse(const WeakPointer&)/uri(const WeakPointer&) calls may incorrectly return std::nullopt depending on call order.
Severity: high
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| schema.defines("definitions")}; | ||
| ONLY_CONTINUE_IF(has_defs || has_definitions); | ||
|
|
||
| const auto base{frame.traverse(frame.root())}; |
There was a problem hiding this comment.
This rule now bails out when frame.root() is empty (because frame.traverse(frame.root()) returns nullopt), which can happen for schemas without an explicit identifier/default id (or when analysing non-root paths). If orphan cleanup is expected to work in those scenarios, using frame.root() as the reachability base may skip intended transforms.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
Signed-off-by: Juan Cruz Viotti jv@jviotti.com