Skip to main content

Module system

Module system 

Source
Expand description

ridl diff at the system (rsdl reference §14): the changes to a lowered system that are not contract changes.

The contracts of a workspace are compared by the ridl categories, through crate::diff_sets. What rsdl adds is structure — which components exist, their lines, and where each instance runs — and a change to it changes the derived links and never the contract. Such a change is listed under one of two headings and carries no verdict: neither compatible nor breaking. Which of them are breaking, and for whom, is the stability policy’s.

  • Placement changed — a change in a deployment: a deployment added or removed, a machine added, removed or made external, an instance moved to another machine.
  • Composition changed — a change to the closure or to a component’s lines: a component added to or removed from the system, an offers or requires line added or removed, instances changed, a component made external.

Both read the lowered System of each side and nothing else.

Structs§

SystemChange
One change to the system, listed under its heading with no verdict.

Enums§

SystemHeading
The heading a system change is listed under (rsdl reference §14).

Functions§

diff_systems
Compares two lowered systems: the composition changes first, in the new closure’s order and then the removed components, and then the placement changes, deployment by deployment in the new system’s order and then the removed deployments. The doc fields (doc, the doc links, see, since) are never read: a doc edit is neither a placement nor a composition change, and a system change has no verdict (ADR-0026). The sizing fields (Deployment.sizing, Placement.sizing) are never read either: a changed depth, slots or budget changes no link and no contract (rsdl §14).
heading_text
The heading as the text report prints it: placement changed.