12345678910111213141516171819202122232425262728293031323334353637383940414243(** Assumptions baked into MlFront_Thunk.
Assumptions are no-op functions that can be referenced in documentation and
in source code. Using a reference to an assumption makes that documentation
and/or source code break if the assumption function is deleted or renamed.
Said another way, when the assumption changes the source code will fail to
compile.
You can and should reference these assumptions if you rely on the
assumption. *)(** The values AST is agnostic to the build number.
So:
- any versions in the CST that contain 'bn-*' semver build metadata will
have the build metadata dropped.
- any searches of the CST will have the build metadata dropped
If the AST weren't agnostic, we'd have to reparse and store a new AST in the
values store every build. *)letvalues_ast_is_buildnumber_agnostic()=()(** The byte positions in the values CST (ex. ["values.json"]) needed for proper
error reporting will be different if a JSON file is checked-out as CRLF or
LF. (The line and column positions will be the same.)
The difference would make the parsed AST different because {!Marshal}
includes the byte positions. *)letvalues_ast_has_unix_byte_positions()=()(** The byte positions in the core distribution CST (ex.
["etc/dk/d/*.dist.json"]) needed for proper error reporting will be
different if a JSON file is checked-out as CRLF or LF. (The line and column
positions will be the same.)
The difference would make the parsed AST different because {!Marshal}
includes the byte positions. *)letcore_distribution_has_unix_byte_positions()=()(** A distribution's bundle which contains the tracestore and the valuestores
must be downloaded (exported in the ["build_modules:[...]"] field) or else
the user will not be able to download the distribution. *)letdistribution_bundle_must_be_an_exported_module()=()