2.1 KiB
Existing source-7 constructor defaults
Compatibility experiment, not proposed grammar. probe.rs imports only the
matching existing oa_core rlib; it performs no production or Cargo edits.
In a coordinated direct-rustc writer slot:
. .local/toolchain/env.ps1
rustc --edition 2024 -D warnings --crate-name constructor_defaults_probe harness/experiments/constructor-defaults-20260911/probe.rs --extern oa_core=.local/target-gnullvm/debug/deps/liboa_core-3e81c616fea1d901.rlib -L dependency=.local/target-gnullvm/debug/deps -C linker=clang.exe -o .local/constructor-defaults-20260911/probe.exe
& .local/constructor-defaults-20260911/probe.exe NEW_ISOLATED_OUTPUT_DIRECTORY
Use a fresh output directory when reproducing so the committed evidence is not
overwritten. The rlib SHA256 is
5018A1FD7286ED9DFEDCBBF5B68B399AD5D143F2A9AAAED3078CFC934C9589C4.
The exact compiler, core source hashes, executable hash and result inventory
are in provenance.json.
results/results.tsv records 54 admitted explicit/omitted cases and
12 missing-required-field refusals, covering both OA and SA source 7.
Every admitted occurrence is compared with a literal expected typed body and
the full explicit-case Project. It also requires exact source retention on
stabilization/no-op, a name-only patch retaining omissions, and canonical
format/reparse equality. Both scenario viewpoint omission cases separately
require MixedLegacy equality and canonical stability.
The .canonical.arcadia siblings intentionally expand hydrated defaults;
they are not expected to retain authored omission. Exchange operation none
is deliberately omitted by canonical serialization. Files named
omit-bindings, omit-kind, omit-operator, omit-branches, omit-guard, or
omit-occurrences are expected invalid fixtures, retained to show the
specific missing-field diagnostic. They are not modeling examples.
The program/result files are durable evidence. The compiled executable and
initial/final build logs remain in ignored .local/constructor-defaults-20260911/.
Other constructor families and old schema versions were not exhaustively tested.