Skip to main content

Module conformance

Module conformance 

Source
Expand description

Every obligation a dialect owes, reported at once.

Two people built dialects against Razeri’s authoring guide without help. Between them they met twenty-seven obligations one cargo test at a time — a roster fails, you add a row, the next roster fails. Not one of those failures was discoverable before it fired. This module is the report that answers all of them in one pass.

§Running it

From your own crate’s tests, where your dialect is linked and Razeri’s registry can see it:

let report = conformance::check(my_dialect);
assert!(report.is_clean(), "{report}");

Inside Razeri’s own repository, razeri plugin conform <name> prints the same report for any registered platform, followed by the repository-side obligations a command cannot run for you.

§What it can and cannot see

Everything here is read off the dialect object, so it works wherever your plugin compiles. What it cannot do is run Razeri’s frozen matrices or regenerate its language bindings — those are commands, and repository_obligations lists them in the order they are owed.

Structs§

Finding
One thing to fix, in the order a reader wants it: what is wrong, then what to do about it.
Obligation
A command a plugin author runs inside Razeri’s repository, and why.
Report
The whole report for one dialect.

Enums§

Severity
How much a finding matters.

Functions§

check
The report. Everything about this dialect that Razeri can check by asking it.
repository_obligations
What a command has to do for you, in the order it is owed.