Skip to main content

REVIEWS

Constant REVIEWS 

Source
pub const REVIEWS: ModuleSchema;
Expand description

What reviews declares about itself.

One value, read twice: Reviews::module_schema answers with it, so the boundary holds every call to it, and RulePackage::load hands the same value to Compiler::with_host_schema, so the checker holds every call site to it. Nothing about the module is written down a second time, which is the whole reason the two ends cannot disagree.

PullRequest carries ten fields and each is declared as the shape it is, labels: Set<String> included. It was an Array<String> until issue #153, not because a pull request’s labels are a sequence but because HostType had no Set to say otherwise, and the Cove side carried a loop that turned one into the other wherever a rule asked a membership question. A schema that cannot say what a field is makes the program say it instead.

Nothing here is checked by writing it down twice: the boundary holds a value to this table, and the_schema_declares_only_types_a_value_could_have holds the table itself to ModuleSchema::validate, which is the one thing a HostType can now say and no value satisfy.