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.